- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RMI规范
RMI规范--第二章 Java 分布式对象模型
2.1 分布式对象应用程序
RMI 应用程序通常包括两个独立的程序:服务器程序和客户机程序。典型的服务
器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机
调用那些远程对象上的方法。而典型的客户机程序则从服务器中得到一个或多个
远程对象的引用,然后调用远程对象的方法。RMI 为服务器和客户机进行通讯
和信息传递提供了一种机制。这样的应用程序有时被称为分布式对象应用程序。
分布式对象应用程序需要:
定位远程对象
应用程序可使用两种机制中的一种得到对远程对象的引用。它既可用 RMI 的简
单命名工具 rmiregistry 来注册它的远程对象;也可将远程对象引用作为常规
操作的一部分来进行传递和返回。
与远程对象通讯
远程对象间通讯的细节由 RMI 处理;对于程序员来说,远程通讯看起来就象标
准的 Java 方法调用。
象,所以 RMI 将提供必要的机制,
既可以加载对象的代码又可以传输对象的数据。
服务器调用注册服务程序以使名字与远程对象相关联。客户机在服务器注册服务
程序中用远程对象的名字查找该远程对象,然后调用它的方法。RMI 能用 Java
系统支持的任何 URL 协议(例如 HTTP、FTP、file 等)加载类字节码。
2.2 术语的定义
在 Java 分布式对象模型中,remote object 是这样一种对象:它的方法可以
从其它 Java 虚拟机(可能在不同的主机上)中调用。该类型的对象由一种或
多种 remote interfaces(它是声明远程对象方法的 Java 接口)描述。
远程方法调用 (RMI) 就是调用远程对象上远程接口的方法的动作。更为重要的
是,远程对象的方法调用与本地对象的方法调用语法相同。
2.3 分布式和非分布式模型的比较
Java 分布式对象模型在以下几方面与 Java 对象模型相似:
远程对象的引用在任一种方法调用中(本地或远程)都能以参数形式传递或以结
果形式返回。
远程对象可以被强制转换成任何远程界面,只要该界面为使用内置 Java 语法
进行强制类型转换的实现所支持。
内置 Java 操作符 instanceof 可用来测试远程对象所支持的远程接口。
Java 分布式对象模型在以下几方面与 Java 对象模型不同:
远程对象的客户机与远程接口发生交互,而从不与这些接口的实现类交互。
远程方法的非远程参数和返回结果是通过复制而非引用的方式传递的。这是因为
对象的引用只在单个虚拟机中才有用。
远程对象以引用的方式进行传递,而不是复制实际的远程实现。
某些 java.lang.Object 类定义的方法的语义专用于远程对象。
因为调用远程对象的失败模式本来就比调用本地对象的失败模式复杂,所以客户
机必须处理远程方法调用期间发生的额外异常。
2.4 RMI 接口和类概述
2.4.1 java.rmi.Remote 接口
在 RMI 中,远程接口是声明了可从远程 Java 虚拟机中调用的方法集。远程接
口必须满足下列要求:
远程接口至少必须直接或间接扩展 java.rmi.Remote 接口。
远程接口中的方法声明必须满足下列远程方法声明的要求:
远程方法声明在其 throws 子句中除了要包含与应用程序有关的异常(注意与
应用程序有关的异常无需扩展 java.rmi.RemoteException )之外,还必须包
括 java.rmi.RemoteException 异常(或它的超类,例如
java.io.IOException 或 java.lang.Exception )。
远程方法声明中,作为参数或返回值声明的(在参数表中直接声明或嵌入到参数
的非远程对象中)远程对象必须声明为远程接口,而非该接口的实现类。
java.rmi.Remote 接口是一个不定义方法的标记接口:
public interface Remote
远程接口必须至少扩展 java.rmi.Remote 接口(或其它扩展
java.rmi.Remote 的远程接口)。然而,远程接口在下列情况中可以扩展非远
程接口:
远程接口也可扩展其它非远程接口,只要被扩展接口的所有方法(如果有)满足
远程方法声明的要求。
例如,下面的接口 BankAccount 即为访问银行帐户定义了一个远程接口。它包
含往帐户存款、使帐户收支平衡和从帐户取款的远程方法:
public interface BankAccount extends java.rmi.Remote
{
public void deposit(flo
您可能关注的文档
- 03020103东方园林绿地养护管理标准(见合同).docx
- 09会计高级财务管理复习题.doc
- 005胸腺肽alpha1_辅助治疗非小细胞肺癌临床试验样本估算及依据.doc
- 0-6岁学前儿童心理评估和咨询.doc
- 0618与二分法的学习.doc
- 06G901-1混凝土结构施工钢筋排布规则与构造详图问题解答.doc
- -电子病历系统功能应用水平分级-可编辑.doc
- 06时间序列(包括了季节因素的处理详细过程).doc
- 09电气实习报告王健.doc
- 09级机制机化《特种加工离子束加工》课程论文.doc
- 初中英语人教版七年级上册第四单元Where is my schoolbag ! Section A .ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.ppt
- 初中英语人教版七年级下册 Unit 6 I'm watching TV. Section A 11a.pptx
- 注册土木工程师培训课件.ppt
- 初中生物济南版七年级上册第一章奇妙的生命现象 第三节生物学的探究方法.ppt
- 初中英语人教版七年级上册第四单元Where is my schoolbag Section B 2.pptx
- 注册安全工程师案例课件.ppt
- 初中物理人教版八年级上册第二章第4节噪声的危害和控制课件(共19张PPT).pptx
- 注册安全工程师王阳课件.ppt
- 初中数学青岛版八年级上2.4《线段的垂直平分线》课件(16张PPT).ppt
最近下载
- 2023年心理咨询师考试题库含答案(满分必刷).docx
- T_HICIA 001-2025 海南历史风貌建筑保护与更新技术导则.docx VIP
- 《第7课 分支结构》参考课件2.pptx VIP
- 房地产评估假设开发法评估报告.docx
- 人教版(2024新版)七年级生物上册期末复习专项9 微生物(带答案解析).doc VIP
- 水利项目堤防工程单位工程验收建设管理工作报告.doc VIP
- 内部审计学(第二版)张建平习题答案.docx VIP
- 标准图集-20S515钢筋混凝土及砖砌排水检查井.pdf VIP
- 汽车维护-的项目三汽车二级维护共72页文档.ppt VIP
- 药品供货方案及质量保障措施.docx VIP
原创力文档


文档评论(0)