学习RMI

1、建立Interface(接口) 声明远程方法 并继承java.rmi.Remote 并且远程方法 必须声明throws RemoteException

2、建立具体实现类 实现上一步声明的接口 并继承 UnicastRemoteObject

3、声明具体要传输的实体对象 注意 对象必须实现 Serializable 表明为可序列化 可传输对象

4、完成上述编码 得到 具体的 .class 字节码文件后 可以在dos注册服务 用开发工具则可以直接运行

LocateRegistry.createRegistry(1099); 注册端口服务

 

生成 stub文件方法

例如: 进入 程序 bin 目录 执行 命令 rmic -classpath . 包名.实现类名

包名 例如 com.xxx.xxx

 

 

实际使用中我们可能会将生成的stub.class发给客户端用的,这里说下这种用法。 

 

1、利用rmic对生成的远程class文件生成stub类,即:rmic package.RemoteInterfaceImpl  即可生成RemoteInterfaceImpl_stub.class(注意: rmic针对的是.class,而不是.java文件)

 

2、将stub.class文件打成jar包,或者直接发给调用方,如果涉及到bean类,也要发给对方(必须可序列化,否则无法远程调用)

 

3、调用方导入包含stub的jar包,或者直接引入.class(eclipse里可以直接引用class的,具体google)

 

4、直接实例化stub,如下,然后即可正常调用。 

 

RemoteInterfaceImpl_Stub stub = (RemoteInterfaceImpl_Stub) Naming.lookup("//url:port/service_name");

 

posted @ 2015-09-24 15:14  天地大同  阅读(136)  评论(0编辑  收藏  举报