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");