浅谈Java分布式计算
作者:网络转载 发布时间:[ 2013/3/28 10:12:37 ] 推荐标签:
在RMI中,客户端的辅助设施称为stub,而服务器端的辅助设施称为skeleton。
如何创建远程服务
1、创建Remote接口
远程的接口定义了客户端可以远程调用的方法,它是个作为服务的多态化类。stub和服务都会实现此接口
2、实现Remote接口
这个是真正执行的类,它实现出定义在该接口上的方法,它是客户端会调用的对象
3、用rmic产生stub和skeleton
客户端和服务器都有helper,我们无需创建这些类或产生这些类的源代码,这都会在执行JDK所附的rmic工具时自动地处理掉
4、启动RMI registry (rmiregistry)
rmiregistry像电话薄,用户会从此处取得代理(客户端的stub/helper对象)
5、启动远程服务
必须让服务对象开始执行,实现服务的类会起始服务的实例并向RMI Registry注册,要有注册后才能对用户服务。
服务端代码
定义接口
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
*
* MyRemote.java
*
* 功 能: TODO
* 类 名: MyRemote.java
*
* ver ?更日 角色 担当者 ?更内容
* ──────────────────────────────────────────────
* V1.00 2013-3-19 模块 苏若年 初版
*
* Copyright (c) 2013 dennisit corporation All Rights Reserved.
*
* Email:<a href="mailto:DennisIT@163.com">发送邮件</a>
*
*
* Remote是个标记性的接口,意味着没有方法,然而它对RMI有特殊的意义,所以必须遵守这项规则,
* 注意这里用的是extends,接口是可以继承其他接口的
*
*/
public interface MyRemote extends Remote{
/**
* 远程的接口定义了客户端可以远程调用的方法,它是作为服务的多态化类,也是说,客户端会
* 调动有实现此接口的stub,而此stub因为会执行网络和输入/输出工作,所以可能会发生各种
* 问题,客户端鼻息处理或声明异常来认知这一类风险,如果该方法在接口中声明异常,调用该方
* 法的所有程序都必须处理或再声明此异常.
*
* 远程方法的参数和返回值必须是primitive或serializable的.任何远程方法的参数都会被
* 打包通过网络传送,而这时通过序列化完成的,返回值也是一样.所以,如果使用的是自定义类型
* 时,必须对其序列化
* @return
* @throws RemoteException
* 所有接口中的方法都必须声明RemoteException
*/
public String sayHello() throws RemoteException;
}
相关推荐
更新发布
常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11系统性能测试及调优前期准备
2021/4/15 14:41:29国内比较好用的5款测试管理工具
2021/3/25 17:23:31