永发信息网

远程方法调用RMI的问题

答案:3  悬赏:40  手机版
解决时间 2021-04-01 20:39
远程方法调用RMI的问题
最佳答案
RMI远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。使用这种机制,某一台计算机上的对象可以调用另外一台计算机上的对象来获取远程数据。RMI是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径。
  简单实例:
  1、首先为服务建立一个Model层,注意因为此对象需要现实进行远程传输,所以必须继承Serializable
  2、创建远程接口PersonService,注意远程接口需要继承Remote
  3、建立PersonServiceImpl实现远程接口,注意此为远程对象实现类,需要继承UnicastRemoteObject
  4、建立服务器端,在服务器端注册RMI通讯端口与通讯路径,然后通讯javac命令编译文件,通过java -server 命令注册服务。
  5、以下面代码为例,如果将项目建立于D:\\RMI\RemotingService文件夹上时,则先输入D:\\RMI\RemotingService\src>javac rmi/remotingservice/Program.java获取Program.class,然后输入D:\\RMI\RemotingService\src>javarmi/remotingservice/Program启动服务。
  6、最后建立客户端进行测试,注意客户调用的RMI路径必须服务器配置一致。
全部回答
用spring来的绑定的,具体没有深入去了解了。
看了一下API,发现Naming是静态的、registy是接口。楼主可以看看JDK的API说明追问就是看过API没看明白,API说的很简单,一句话就带过了。我试了一下,都不行。追答刚测试了一下,没有报错
try {
PersonService personService=new PersonServiceImpl();
//注册通讯端口
LocateRegistry.createRegistry(6600);
//注册通讯路径
Naming.rebind("rmi://127.0.0.1:6600/PersonService", personService);
Naming.unbind("rmi://127.0.0.1:6600/PersonService");
Naming.rebind("rmi://127.0.0.1:6600/PersonService", personService);
System.out.println("Service Start!");
} catch (Exception e) {
e.printStackTrace();
}追问在同一个类当中我试过没有问题,我刚才报异常应该是用Naming绑定,registry 取消绑定造成的。我现在用registry 绑定,在另一个类当中通过Registry registry = LocateRegistry.getRegistry(8888)方法来获得绑定的registry ,然后取消绑定。现在没有异常,但是还是没有效果,后台的服务还是存在。我觉得可能是后来获得的registry 跟先前
Registry registry = LocateRegistry.createRegistry(8888);的registry不是同一个
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在口袋怪兽绿宝石中去日落山找到两个首领之后
鄂旗碱柜中学地址在哪,我要去那里办事,
为什么我考CFRM总是差一点
怎样将12V的CPU风扇电压降到5V(不使用变压器
单选题有关普通玻璃的叙述中,错误的是A.玻璃
贫穷年代的爱,博大而质朴什么意思?
武汉哪里夜景的地方好
煤炭吃到肚里这么办
期房一般要等多长时间才能交房?
1976年刊发周总理逝世特辑的《人民画报》什么
雅马哈音响的雅马哈专业音响设备
形容钢笔的词语
飞利浦剃须刀 过期
求助OPPO售后
17年养殖硕士毕业女,毕业一年了在辅导机构工
推荐资讯
鸡眼实在是疼痛难忍,自己又不知道怎么处
养殖两千只三黄鸡的成本是多少,
大众原车6碟cd为什么半小时锁一次
缠中说禅视频
百无聊赖的聊什么意思
苹果8是否都是5.8寸屏幕?
佛语所说的三界是指那三个?
如果现任问起以前的感情经历应该怎么回答好
为什么我在用cyder2时 弹出窗口说缺少asl.all
那里回收原装日本优美达2035机芯电路板,全新
数据库集群环境中,每台服务器中数据一致吗?
什么是消极休闲
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?