<!--defaultCSS-->
简介:RMI -- remote method invocation,远程方法调用;对使用者屏蔽底层通信细节,可以像调用本地方法那样调用远程方法。
实例:
1.服务端
1)定义提供的接口:注意必须从Remote接口派生
public interface MonitorService extends Remote{
String getTime() throws RemoteException;
}
2)实现该接口:注意必须从UnicastRemoteObject派生,表示该对象可以被远程调用
public class MonitorServiceImpl extends UnicastRemoteObject implements MonitorService{
protected MonitorServiceImpl() throws RemoteException {
super();
}
@Override
public String getTime() throws RemoteException {
return new Date().toString();
}
}
3)发布该接口实现:我们的service对象,就绑定在了//10.0.64.13:8900/monitor上,只要是访问这个地址,就是调用我们的对象了
LocateRegistry.createRegistry(8900);
MonitorService service = new MonitorServiceImpl();
Naming.bind("//10.0.64.13:8900/monitor", service);
2.客户端
直接使用该接口:
MonitorService service = (MonitorService) Naming.lookup("//10.0.64.13:8900/monitor");
System.out.println(service.getTime());
直接运行上面的代码,我们的rmi实例就结束了。
讨论:
这么简单的东西,为什么感觉用的人不多呢?原因之一估计是语言的关系,使用rmi,要求通信双方都必须采用java实现;原因之二和纯正的socket通信相比,它消耗的资源还是要更多;
相关推荐
- **Spring 初探**:Spring的核心在于依赖注入(DI)和面向切面编程(AOP),提供了一个轻量级的容器来管理对象的生命周期和相互依赖关系。 - **Spring 体系**:包括Core Container(核心容器)、Data Access/...
5、Java RMI + Lucene 构建分布式检索应用初探 ................ - 17 - 6、一对多的表关联在mapreduce中的应用(续) .................. - 26 - 7、InputSplit文件格式分析................................. - 32 -...
#### 五、Java RMI + Lucene 构建分布式检索应用初探 - **技术组合**:结合 Java Remote Method Invocation (RMI) 和 Lucene 实现分布式检索应用。 - **关键技术点**: - Java RMI 的使用,实现远程方法调用功能。...
《构建跳跃与奔跑游戏——Java实现的JumpAndRunBuilder初探》 在游戏开发的世界里,创新和趣味性是至关重要的。"JumpAndRunBuilder"项目,正如其名,旨在提供一个平台,让玩家能够创建自己的跳跃和奔跑关卡,并且...
这本书以其详尽的内容和丰富的示例闻名,旨在帮助Java开发者深入理解并掌握Spring框架。全书共分为多个部分,覆盖了Spring的核心概念、企业级应用开发以及Web层的实现。 在介绍Spring框架时,书中首先讲解了“控制...
在Spring初探部分,首先涉及到的是准备工作,包括安装必要的开发环境和配置工具,为构建Spring基础代码做准备。接下来,指南会介绍Spring的基础语义,特别是依赖注入(Dependency Injection,简称DI)的概念及其在...
从代理机制初探 AOP 动态代理 <br>AOP 观念与术语 Spring AOP Advices Advices 包括了Aspect 的真正逻辑,由于缝合至Targets的时机不同,Spring 提供了几种不同的 Advices。 Before ...