快速业务通道

RMI远程方法调用讲解教程 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

RMI远程方法调用讲解教程

时间:2010-12-19 anS-v

RMI远程方法调用讲解教程

1、RMI概述

RMI(Remote Method Invocation)

RMI是分布式对象软件包,它简化了在多台计算机上的JAVA应用之间的通信。

必须在jdk1.1以上

RMI用到的类

java.rmi.Remote

所有可以被远程调用的对象都必须实现该接口

java.rmi.server.UnicastRemoteObject

所有可以被远程调用的对象都必须扩展该类

什么是RMI

远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一 种机制,使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法 时,使用的程

序语法规则和在本地机上对象间的方法调用的语法规则一样。

优点

这种机制给分布计算的系统设计、编程都带来了极大的方便。

只要按照RMI规则设计程序,可以不必再过问在RMI之下的网络细节了,如: TCP和Socket等等。

任意两台计算机之间的通讯完全由RMI负责。调用远程计算机上的对象就像本 地对象一样方便。

1、面向对象:

RMI可将完整的对象作为参数和返回值进行传递,而不仅仅是预定义的数据类 型。

也就是说,可以将类似Java哈西表这样的复杂类型作为一个参数进行传递。

2、可移动属性:

RMI可将属性从客户机移动到服务器,或者从服务器移动到客户机。

3、设计方式:

对象传递功能使您可以在分布式计算中充分利用面向对象技术的强大功能, 如二层和三层结构系统。

如果用户能够传递属性,那么就可以在自己的解决方案中使用面向对象的设 计方式。

所有面向对象的设计方式无不依靠不同的属性来发挥功能,如果不能传递完 整的对象——包括实现和类型

——就会失去设计方式上所提供的优点。

RMI远程方法调用讲解教程(2)

时间:2010-12-19 anS-v

4、安全性:

RMI使用Java内置的安全机制保证下载执行程序时用户系统的安全。

RMI使用专门为保护系统免遭恶意小程序侵害而设计的安全管理程序。

5、便于编写和使用

RMI使得Java远程服务程序和访问这些服务程序的Java客户程序的编写工作变 得轻松、简单。

远程接口实际上就是Java接口。

为了实现RMI的功能必须创建远程对象任何可以被远程调用的对象必须实现远 程接口。但远程

接口本身并不包含任何方法。因而需要创建一个新的接口来扩展远程接口。

新接口将包含所有可以远程调用的方法。远程对象必须实现这个新接口,由 于新的接口扩展了

远程接口,实现了新接口,就满足了远程对象对实现远程接口的要求,所实 现的每个对象都将

作为远程对象引用。

创建远程方法调用的5个步骤:

1、定义一个远程接口的接口,该接口中的每一个方法必须声明它将产生一个 RemoteException异常。

2、定义一个实现该接口的类。

3、使用RMIC程序生成远程实现所需的残根和框架。

4、创建一个客户程序和服务器进行RMI调用。

5、启动Registry并运行自己的远程服务器和客户程序。

第一步、扩展远程接口

创建一个RMI程序首先要做的就是创建一个扩展远程接口的接口。在这个接口 中可以添加任意希望能在

远程机器上调用的方法。

接口示例

import java.rmi.Remote; import.java.rmi.RemoteException; public interface RemoteInterface extends java.rmi.Remote { public String start(String msg) throws RemoteException; }

在接口中定义了一个返回字符串的方法

本地接口(RemoteInterface)必须是公共的,否则客户机在加载一个实现该接 口的远程对象时就会出错。

它必须从java.rmi.Remote继承而来,接口中的每一个方法都必须抛出远程异 常java.rmi.RemoteException。

抛出这个异常的原因

由于任何远程方法调用实际上要进行许多低级网络操作,因此网络错误可能 在调用过程中随时发生。

因此,所有的RMI操作都应放到try-catch块

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号