- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用RMI建立一个分布式Java应用程序详解
用RMI建立一个分布式Java应用程序详解责任编辑:/user/cynthia/cynthia作者:来自ITPUB论坛?/10004/2008/2008-01-02.shtml2008-01-02?文本Tag:?/lists/6138/0/6138.shtmlJava 【IT168 技术文档】RMI,远程方法调用(Remote Method Invocation)是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径。RMI是非常容易使用的,但是它非常的强大。 RMI的基础是接口,RMI构架基于一个重要的原理:定义接口和定义接口的具体实现是分开的。下面我们通过具体的例子,建立一个简单的远程计算服务和使用它的客户程序 一个正常工作的RMI系统由下面几个部分组成: ● 远程服务的接口定义 ● 远程服务接口的具体实现 ● 桩(Stub)和框架(Skeleton)文件 ● 一个运行远程服务的服务器 ● 一个RMI命名服务,它允许客户端去发现这个远程服务 ● 类文件的提供者(一个HTTP或者FTP/files/0402search.shtml服务器) ● 一个需要这个远程服务的客户端程序 下面我们一步一步建立一个简单的RMI系统。首先在你的机器里建立一个新的文件夹,以便放置我们创建的文件,为了简单起见,我们只使用一个文件夹存放客户端和服务端代码,并且在同一个目录下运行服务端和客户端。 如果所有的RMI文件都已经设计好了,那么你需要下面的几个步骤去生成你的系统: 1、编写并且编译接口的Java代码 2、编写并且编译接口实现的Java代码 3、从接口实现类中生成桩(Stub)和框架(Skeleton)类文件 4、编写远程服务的主运行程序 5、编写RMI的客户端程序 6、安装并且运行RMI系统 1、 接口 第一步就是建立和编译服务接口的Java代码。这个接口定义了所有的提供远程服务的功能,下面是源程序: //Calculator.java//define the interface import java.rmi.Remote; public interface Calculator extends Remote{ public long add(long a, long b) throws java.rmi.RemoteException; public long sub(long a, long b) throws java.rmi.RemoteException; public long mul(long a, long b) throws java.rmi.RemoteException; public long div(long a, long b) throws java.rmi.RemoteException; } 注意,这个接口继承自Remote,每一个定义的方法都必须抛出一个RemoteException异常对象。 建立这个文件,把它存放在刚才的目录下,并且编译。 javac Calculator.java 2、 接口的具体实现 下一步,我们就要写远程服务的具体实现,这是一个CalculatorImpl类文件: //CalculatorImpl.java //Implementation import java.rmi.server.UnicastRemoteObject public class CalculatorImpl extends UnicastRemoteObject implements Calculator { // 这个实现必须有一个显式的构造函数,并且要抛出一个RemoteException异常 public CalculatorImpl() throws java.rmi.RemoteException { super(); } public long add(long a, long b) throws java.rmi.RemoteException { return a + b; } public long sub(long a, long b) throws java.rmi.RemoteException { return a - b; } public long mul(long a, long b) throws java.rmi.RemoteException { return a * b; } public long div(long a, long b) throws java.rmi.RemoteException { return a / b; } } 同样的,把这个文件保存在你的目录里然后编译他。 这个实现类使用了UnicastRemoteO
您可能关注的文档
- 英语减价句子大全.doc
- 论文-美国俚语的幽默与自由化.doc
- Radware双机同步配置指导书-VRRP.doc
- 解析ARP数据包-计算机网络课程设计.doc
- Reload发生后的应急流程.doc
- 美国医疗改革.docx
- 警告信息解决方法整理.doc
- 6509 VSS交换机IOS升级过程.docx
- Ogre资源加载详解.docx
- 生物信息大作业.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)