构建一个简单的RMI应用程序

第一步,创建remote接口:
    定义接口extends Remote;
    定义接口方法,注意需要throws RemoteException;

第二步,实现remote接口:
    实现接口里定义的各个方法;
    (optional)定义本地方法,即未在接口里定义的方法,client端看不到;
    定义static main方法,这里需要实现下列几步:
        System.setSecurityManager(new RMISecurityManager()); //创建并安装安全管理器
        取得args[0]参数,实例化remote类obj;
        Naming.rebind(args[0], obj); //绑定名字和对象

第三步,创建客户端类:
    主要就是定义static main方法,这里需要实现下列几步:
        取得args[0]指定的server名字;
        用Naming.lookup(server名字)查找绑定的对象obj;
        调用obj的各个方法,就像本地调用一样;

第四步,创建policy文件,例如,创建rmi.policy文件:
    grant {
        // Allow everything for now
        permission java.security.AllPermission;
    };
    注意,以上仅是用作练习。

第五步,启动rmiregistry:
    在dos窗口下,输入:start rmiregistry(回车)
    会弹出新窗口,表示正在运行rmiregistry;
    注意!一定要在remote类所在的目录下执行该命令。

第六步,启动server端程序:
    输入命令:java server名 -Djava.security.policy="policy完整路径名"

第七步,启动client端程序:
    输入命令:java server名

现在就可以看到client-server间的通讯了。

补充:实际测试发现,用一个helper对象封装所有需要传给remote类的方法参数,比起一个个参数传递性能要好很多。
helper对象一定要implements Serializable接口。



posted on 2011-02-21 23:30 koradji 阅读(262) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

db2

dos

Groovy

Hibernate

java

WAS

web application

搜索

最新评论

阅读排行榜

评论排行榜