简单的javaRIM 实现
来源:互联网 发布:mac finder添加 编辑:程序博客网 时间:2024/05/16 01:53
代理模式中的远程代理简单实现:
制作远程的接口
package proxy;import java.rmi.Remote;import java.rmi.RemoteException;/* * 定义远程接口 */public interface MyRemote extends Remote{ public String sayHello() throws RemoteException;}
制作远程的实现 并将服务注册到 RMI register 中
pakage proxyimport java.rmi.Naming;import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{ // UnicastRemoteobject 实现了某些"远程功能"。其构造方法 抛出了 RemoteException 异常 protected MyRemoteImpl() throws RemoteException { } @Override public String sayHello() throws RemoteException { return "Server says 'Hey'"; } public static void main(String arg[]){ System.out.println("服务启动!"); try{ MyRemote service = new MyRemoteImpl(); //将指定名称重新绑定到一个新的远程对象 Naming.rebind("RemoteHello", service); }catch (Exception e){ } }}
打开一个终端 对 MyRemoteImpl 进行javac 编译
用 rmic 编译 MyRemoteImpl 将生成MyRemoteImpl_Stub.class 文件。这是远程代理的 辅助对象。
重新打开终端 打开启用 rmiregistry (使用 Naming.rebind()注册必须运行
运行 MyRemoteImpl (java MyRemoteImpl) 开启远程服务)
package proxy;import java.rmi.Naming;public class MyRemoteClient {public static void main(String arg[]){new MyRemoteClient().go();}public void go(){try {MyRemote service = (MyRemote) Naming.lookup("rmi://127.0.0.1/RemoteHello");String s = service.sayHello();System.out.println(s);} catch (Exception e) {e.printStackTrace();}}}
运行客户端
注意:在Myeclipse ,Eclipse 不支持 rmic 的编译,必须下载插件 并安装
- 简单的javaRIM 实现
- 杀毒软件的简单实现的简单实现
- 杀毒软件的简单实现
- 俄罗斯方块的简单实现
- 简单文件系统的实现
- 杀毒软件的简单实现
- 杀毒软件的简单实现
- strstr()的简单实现
- printf 的简单实现
- 简单文件系统的实现
- 简单的ajax实现
- 简单的时钟实现
- ICollection的简单实现
- P2P的简单实现
- 简单的JNI实现
- 简单的string实现
- Ajax的简单实现
- 线程的简单实现
- 头文件有.h与没.h的区别
- 在VC2010内使用CBrush构建透明笔刷
- 使用 Eclipse OSGI
- Objective C--单例模式
- 动态代理的实现2-编写可生成代理和插入通告的通用方法
- 简单的javaRIM 实现
- Java操作XML
- 动态代理的实现3-实现aop功能的封装和配置
- [信息图]提高网站搜索排名十大法则
- (Java实现)HTML页面转PDF解决方案
- Windows下编译MySQL
- C语言 sizeof函数详解
- Windows API调用外部程序
- pivot and unpivot queries in 11g