- 2
- 0
- 约2.48万字
- 约 50页
- 2018-01-25 发布于浙江
- 举报
9.6 一个RMI的分布式应用的实例 计算机系JAVA培训讲义
9.6 一个RMI的分布式应用的实例 用RMI编写一个分布式应用,核心有以下三方面: 定位远程对象 1. 一个应用可以利用RMI的名字服务功能注册器远程对象。 2. 可以象操作普通对象一样传送并返回一个远程对象的引用(指针)。 与远程对象通信: 底层的通信由RMI实现,对于系统开发人员来说,远程调用和标准的Java方法调用没有什么区别。 为需要传递的对象装载类的字节码 RMI允许调用者向远程对象传递一个对象,因此 RMI提供这种装载对象的机制。 9.6 一个RMI的分布式应用的实例 9.6 一个RMI的分布式应用的实例 9.6 一个RMI的分布式应用的实例 分布特点: engin开发,先运行,task后定义.写engin时不对执行什么任务作任何规定.任务可以是任意定制的. 前提条件: 定义任务的类,要规定任务的实现步骤,使得这个任务能够提交给engin去执行.使用server上的 CPU资源. 技术支持: RMI的动态装载功能. 9.6 一个RMI的分布式应用的实例 9.6 一个RMI的分布式应用的实例 二、设计一个服务器 核心协议:提交任务,执行任务,返回结果 9.6 一个RMI的分布式应用的实例 (1)定义远程接口 第一个接口:compute 9.6 一个RMI的分布式应用的实例 Compute engin的设计要考虑以下问题: 1. compute engine是一个类 ComputeEngine ,它实现了 Compute接口,只要调用该类的方法executeTask, 任务就能提交上来. 2. 提交任务的Client 端程序并不知道任务是被下载到engin上执行的.因此client在定义任务时并不需要包含如何安装的server端的代码. 3. 返回类型是对象,如果结果是基本类型,需要转化成相应的对等类. 4. 用规定任务如何执行的代码填写execute方法. 9.6 一个RMI的分布式应用的实例 (2)实现远程接口 一般说来,实现一个远程接口的类至少有以下步骤: 1. 声明远程接口 2. 为远程对象定义构造函数 3. 实现远程方法 engin中创建对象的工作可以在实现远程接口类的main函数中实现: 1. 创建并安装安全管理器 2. 创建一个或更多的远程对象的实例 3. 至少注册一个远程对象 9.6 一个RMI的分布式应用的实例 package engine; import java.rmi.*; import java.rmi.server.*; import compute.*; public class ComputeEngine extends UnicastRemoteObject implements Compute { public ComputeEngine() throws RemoteException { super(); } public Object executeTask(Task t) { return t.execute(); } public static void main(String[] args) { if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); } String name = //host/Compute; try { Compute engine = new ComputeEngine(); Naming.rebind(name, engine); System.out.println(ComputeEngine bound); } catch (Exception e) { System.err.println(ComputeEngine exception: + e.getMessage()); e.printStackTrace(); }} 9.6 一个RMI的分布式应用的实例 在构造函数中,通过super(), a UnicastRemoteObject 被启动,即它可以侦听客户端来的请求输入 只有一个远程方法,参数是客户端远程调用这个方法时传来的任务.这个任务被下载到engin,远程方法的内容就是调用客户端任务的方法,并把结果回送给调用者.实际上这个结果是在客户的任务的方法中体现的. 9.6 一个RMI的分布式应用的实例 参
您可能关注的文档
- 6.1 细胞增殖 必修1生物精选课件.ppt
- 6.1微分方程的基本概念 常微分方程课件.ppt
- 6.2 The Gold Standard 金融英语.ppt
- 6.2 保护我们共同的家园 必修3精选课件.ppt
- 6.2 激光原理及应用 [电子教案].ppt
- 6.2 激光衍射测量原理 激光原理及应用 [电子教案]电子课件.ppt
- 6.2.典型的一阶微分方程1 常微分方程课件.ppt
- 6.2典型的一阶微分方程2 常微分方程课件.ppt
- 6.2可分离变量方程及齐次方程 常微分方程课件.ppt
- 6.3 激光脉冲测距 激光原理及应用 [电子教案]电子课件.ppt
- 数据流通利用设施发展研究白皮书_37页_1004kb.pptx
- 食品饮料行业深度报告_原奶价格周期向上_板块配置价值愈显_59页_2mb.pptx
- 风电2026年行业策略_国内需求稳升_出海加速_国内外盈利共振_34页_2mb.pptx
- 数读IPO系列_2025年沪深新股总结_36页_1mb.pptx
- 2026年投资展望系列之十二_股债之锚_2026通胀的温度_34页_1mb.pptx
- 家电行业资金面系列专题一_从业绩博弈到稀缺性溢价——家电板块估值重构与白电龙头新机遇_47页_3mb.pptx
- 医药行业2026年度医疗器械策略报告出海篇_破局内卷_向全球价值链中高端迈进_53页_2mb.pptx
- 出海概念股票池及主题指数_扬帆出海孕育的四个投资机遇_17页_1mb.pptx
- 交运行业2026年投资策略_航空盈利修复可期_航运绿色转型提速_45页_3mb.pptx
- 资本周期系列_从业绩变脸到价值修复_22页_697kb.pptx
原创力文档

文档评论(0)