Java分布式处理技术.docx

Java分布式处理技术.docx

ID:59254695

大小:25.12 KB

页数:9页

时间:2020-09-08

Java分布式处理技术.docx_第1页
Java分布式处理技术.docx_第2页
Java分布式处理技术.docx_第3页
Java分布式处理技术.docx_第4页
Java分布式处理技术.docx_第5页
资源描述:

《Java分布式处理技术.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java分布式处理技术(RMI,JDNI) 1.1RMI的基本概念1.1.1 什么是RMIRMI(RemoteMethodInvocation)远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程序语法规则和在本地机上对象间的方法调用的语法规则一样。1.1.2 RMI的用途1、 分布式体系结构我们为什么要使用分布式计算呢?Ø 当我们想与多个用户或客户机共享一个中央资源(如一个数据库)时,就会使用分布式计算。Ø 分布式计算用来利用多个系统的组合计算能力,

2、以便比在单个系统上更有效或更快地解决问题。可以用多种方法配置多个计算机系统以共享处理,包括共享内存、共享磁盘或只是共享一条公共通信通道。最新的技术允许物理上相隔很远的系统能够在处理计算问题时协同工作。关于利用计算能力这一主题,因特网及伴随的通信协议 TCP/IP 的出现已使无数的计算机系统史无前例地连接起来。对一些应用程序来说,能够利用如此多的计算功能来解决问题是令人满意的。甚至更吸引人的是,大多数计算机系统都有充足的空闲时间,可以帮助解决其它问题。将来,网格计算会利用分布式计算能力进行出售,这与电力行业出售电能非常相似。2、 Java分布式对象

3、编程技术RMI是EnterpriseJavaBeans的支柱,是建立分布式Java应用程序的方便途径。只要按照RMI规则设计程序,可以不必再过问在RMI之下的网络细节了,如:TCP和Socket等等。任意两台计算机之间的通讯完全由RMI负责。调用远程计算机上的对象就像本地对象一样方便。1.1.3 RMI应用程序分类依据RMI应用程序各部分职责,可对应用程序进行如下分类:Ø 服务器程序:服务器程序将创建多个远程对象,并使每个对象能够被引用。等待客户端调用创建好的远程对象上的方法。Ø 客户端程序:从服务端程序中得到一个或多个远程对象的引用。客户端能用

4、此引用调用远程对象上的方法。Ø 对等计算程序:双方地位相等,互为对方的服务器和客户端。1.2 创建RMI应用程序步骤1、 定义远程接口在 Java 中,远程对象是实现远程接口的类的实例, 远程接口声明每个要远程调用的方法。在需要创建一个远程对象的时候,我们通过传递一个接口来隐藏基层的实施细节,客户通过接口句柄发送消息即可。远程接口具有如下特点:Ø 远程接口必须为public属性。如果不这样,除非客户端与远程接口在同一个包内,否则当试图装入实现该远程接口的远程对象时,调用会得到错误结果。Ø 远程接口必须扩展接口java.rmi.Remote。Ø 除

5、与应用程序本身特定的例外之外,远程接口中的每个方法都必须在自己的throws从句中声明java.rmi.RemoteException。(或 RemoteException 的父类)。代码范例1packagecom.itjob;importjava.rmi.*;publicinterfaceRmiSampleextendsRemote{publicintsum(inta,intb)throwsRemoteException;}2、 实现远程接口远程对象实现类必须扩展远程对象java.rmi.UnicastRemoteObject类,并实现所定义的

6、远程接口。远程对象的实现类中包含实现每个远程接口所指定的远程方法的代码。这个类也可以含有附加的方法,但客户只能使用远程接口中的方法。因为客户是指向接口的一个句柄,而不是它的哪个类。必须为远程对象定义构造函数,即使只准备定义一个默认构造函数,用它调用基础类构造函数。因为基础类构造函数可能会抛出java.rmi.RemoteException,所以即使别无它用必须抛出java.rmi.RemoteException例外。代码范例2packagecom.itjob.rmi;importjava.rmi.*;importjava.rmi.server.*

7、;importcom.itjob.RmiSample;/**远程接口实现类,继承了UnicastRemoteObject并实现了RmiSample远程接口*/publicclassRmiSampleImplextendsUnicastRemoteObjectimplementsRmiSample{//覆盖默认构造函数并抛出RemoteExceptionpublicRmiSampleImpl()throwsRemoteException{super();}//所有远程实现方法必须抛出RemoteExceptionpublicintsum(inta,

8、intb)throwsRemoteException{returna+b;}}3、 编写服务器类包含 main 方法的类可以是实现类自身

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。