活动介绍

rmi技术应用demoPDF版

preview
需积分: 0 11 下载量 119 浏览量 更新于2009-01-06 收藏 136KB PDF 举报
### RMI技术应用知识点详解 #### 一、RMI简介 **远程方法调用(RMI)**是Java平台提供的一种分布式计算技术,它允许一个Java对象通过网络调用另一个Java对象中的方法,就如同本地方法调用一样。RMI的实现基于Java Remote Method Protocol (JRMP),该协议使用TCP/IP作为底层传输协议。 #### 二、RMI的基本概念 1. **远程接口**: 在RMI中,所有远程对象都必须实现一个特定的接口,该接口继承自`java.rmi.Remote`。此接口声明了可以在远程对象上调用的方法,并且每个方法都必须抛出`RemoteException`。 - **例如**: 在提供的代码中,`RmiHelloRemoteIntfc`就是一个远程接口的例子。 2. **远程对象**: 实现远程接口的具体类,这些类必须继承自`java.rmi.server.UnicastRemoteObject`类。远程对象负责执行远程客户端请求的操作。 - **例如**: `RmiHelloRemoteObj`实现了`RmiHelloRemoteIntfc`接口,并提供了具体的实现逻辑。 3. **注册表**: RMI使用注册表来存储远程对象的名字和引用。客户端可以通过注册表查找远程对象,并与之通信。 - **例如**: `LocateRegistry.createRegistry(2222);`创建了一个监听2222端口的注册表。 4. **命名服务**: 用于将远程对象的名字映射到实际的对象引用。命名服务通常由`java.rmi.Naming`类提供支持。 - **例如**: `Naming.rebind("//Fangm:2222/helloObj", ttt);`将远程对象绑定到了名字“helloObj”。 5. **安全管理器**: RMI操作受到安全策略的限制,通常通过设置系统属性或配置权限文件来实现。 - **例如**: `RmiHelloServer.policy`和`RmiHelloClient.policy`分别定义了服务器端和客户端的安全权限。 6. **客户端**: 客户端通过注册表和命名服务查找远程对象,并调用其方法。 - **例如**: `RmiHelloClient`类通过`Naming.lookup`方法查找远程对象,并调用`helloRemoteObj`方法。 #### 三、RMI的实现过程 1. **编写远程接口**: 定义一个继承自`java.rmi.Remote`的接口,声明可以远程调用的方法。 - **示例**: `RmiHelloRemoteIntfc`接口中声明了`helloRemoteObj`方法。 2. **实现远程对象**: 编写一个继承自`UnicastRemoteObject`的类,并实现远程接口。 - **示例**: `RmiHelloRemoteObj`类实现了`RmiHelloRemoteIntfc`接口,并提供了`helloRemoteObj`方法的实现。 3. **创建服务器**: 创建远程对象实例,并将其绑定到注册表中。 - **示例**: 在`RmiHelloServer`类中,创建了`RmiHelloRemoteObj`实例,并通过`Naming.rebind`方法将其绑定到注册表。 4. **配置安全策略**: 为了确保安全,需要为服务器和客户端配置权限文件。 - **示例**: `RmiHelloServer.policy`和`RmiHelloClient.policy`分别定义了服务器端和客户端的权限。 5. **客户端调用**: 客户端查找远程对象,并调用远程方法。 - **示例**: `RmiHelloClient`类中通过`Naming.lookup`方法查找远程对象,并调用了`helloRemoteObj`方法。 #### 四、RMI注意事项 - **异常处理**: 在RMI程序中,通常需要处理各种异常,如网络异常、安全异常等。 - **序列化**: RMI中传递的对象需要支持序列化,即实现`Serializable`接口。 - **性能考虑**: RMI在网络通信方面可能不如其他更现代的技术(如HTTP/REST)高效。 - **安全性**: 需要仔细设计安全策略,防止未经授权的访问。 - **兼容性**: RMI版本间的兼容性需要注意,不同版本的JVM可能会导致问题。 通过以上详细解释,我们可以看到RMI作为一种早期的分布式解决方案,在理解其基本原理和实现细节方面仍然具有重要意义。尽管在现代软件开发中,更倾向于使用如gRPC、RESTful API等技术,但了解RMI的工作机制对于深入理解分布式系统的原理非常有帮助。
身份认证 购VIP最低享 7 折!
30元优惠券