日历
网志分类
· 所有网志 (19)
· LINUX (6)
· 电脑书籍讨论区 (2)
· 技术心得 (4)
· 电脑认证 (0)
· 闲情日志 (4)
· 未分类 (3)
站内搜索
友情链接
· 我的歪酷 非非共享界
· 精致生活,声色景象,电影场[url=http://spaces.msn.com/members/sunnywhen/] [/url]
· [url=http://sunnywhen.yculblog.com] [/url]晴朗的天空

订阅 RSS

0005160

歪酷博客

Bj的大学日记

我的简单日子
每天都有晴朗天气


« 上一篇: 把握机会 下一篇: 转载--Java中获取系统属性 »
bananaboy @ 2006-10-01 18:28

建立RMI分布式程序简单步骤:

服务器端:
1.
public interface ServiceInterface extends Remote
{
 public List getData(String id) throws RemoteException;
 public MyData getMyData() throws RemoteException;
}

注意:
第一步是在服务端定义让客户端调用的远程接口.
(1)这些借口一定要声明为公开,可抛出异常.
(2)而且这些借口的返回值和传进的参数都必须是可串行化.

2.
public class ServiceImp extends UnicastRemoteObject implements ServiceInterface
{
 public ServiceImp() throws RemoteException
 {
  super();
 }

 public List getData(String id) throws RemoteException
 {
  ...
 }
 
 public MyData getMyData() throws RemoteException
 {
  ...
 }

 public void main(String[] args) throws Exception
 { 
  String remoteObjectName = "rmi://localhost/ServiceInterface";
  ServiceInterface remoteObject = new ServiceImp();  
  Naming.rebind(remoteObjectName, remoteObject);
 }
}

实现远程接口,并继承UnicastRemoteObject.
注意:
在远程对象ServiceImp的构造函数一定要声明抛出异常和调用父构造函数(super()).

3. 注册远程对象
(1)String remoteObjectName = "rmi://localhost/ServiceInterface";
(2)ServiceInterface remoteObject = new ServiceImp();  
(3)Naming.rebind(remoteObjectName, remoteObject);
注意:
这里注册的是远程接口("rmi://localhost/ServiceInterface")只是一个别名,可以去其它名字譬如

("rmi://localhost/A")
关键是(3)那句把这个别名跟remoteOjbect关联起来了.

4. 编译JAVA文件

5. 产生stub and skeleton
rmic -v1.1 ServiceImp
注意:这里会产生两个文件ServiceImp_Stub.class and ServiceImp_Skel.class

6. 启动注册器
start rmiregistry

7. 运行远程对象
java ServiceImp
注意: 这里有可能会出现异常说UnmarshalException, ClassNotFound 什么的. 很有可能是你环境变量的

classpath没设好,因而找不到stub.


客户端:
1. 这里就不用说了
String name = "rmi://localhost/ServiceData";
DataService service = (DataService)Naming.lookup(name);
System.out.println(service.getRemoteData());


最新评论


自閉盈

2006-11-07 22:10 网址: http://vanejoe125996.spaces.live.com/

好耐冇見~
純粹路過......



Cheese

2007-03-04 18:34

一堆看不懂的东西`~~~~~~


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定