普通方法实现——远程方法调用RMI代码演示
2024-09-02 23:40:00
1、spring_RMI01_server服务端
package com.wisezone.service; import java.rmi.Remote;
import java.rmi.RemoteException; public interface IHelloService extends Remote { public String sayHello(String msg) throws RemoteException;
}
package com.wisezone.service.impl; import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject; import com.wisezone.service.IHelloService; public class HelloServiceImpl extends UnicastRemoteObject implements IHelloService{ /**
*
*/
private static final long serialVersionUID = -4174742054186163053L; public HelloServiceImpl() throws RemoteException { } @Override
public String sayHello(String msg) throws RemoteException { System.out.println("服务端接受消息:"+msg);
return "hello,"+msg;
} }
package com.wisezone.test; import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry; import com.wisezone.service.impl.HelloServiceImpl; /**
* 发布顺序:先发布服务端,再发布客户端
* @author 王东海
* @2017年5月1日
*/
public class Publish { public static void main(String[] args) throws RemoteException, MalformedURLException, AlreadyBoundException { //设置端口
LocateRegistry.createRegistry(8888);
Naming.bind("rmi://127.0.0.1:8888/hello", new HelloServiceImpl());
System.out.println("发布成功。。。");
}
}
2、spring_RMI01_client客户端
package com.wisezone.service; import java.rmi.Remote;
import java.rmi.RemoteException; public interface IHelloService extends Remote { public String sayHello(String msg) throws RemoteException;
}
package com.wisezone.test; import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException; import com.wisezone.service.IHelloService; public class Test { public static void main(String[] args) throws MalformedURLException, RemoteException, NotBoundException {
IHelloService helloService = (IHelloService) Naming.lookup("rmi://127.0.0.1:8888/hello");
System.out.println("客户端接受消息:"+helloService.sayHello("This is 5月1号劳动节"));
}
}
发布顺序:先发布服务端,再发布客户端
结果:
最新文章
- Robot Framework安装教程
- 一不小心把oschina给戒了
- 正则表达式用户名密码电话身份证Email使用
- dig out secrets beneath AirSig
- 腾讯开源的轻量级CSS3动画库:JX.Animate
- java中的静态static关键字
- 阵列卡,组成的磁盘组就像是一个硬盘,pci-e扩展出sata3.0
- 解决ORA-28000: the account is locked
- sql小总结2
- yii2 创建ActiveForm(表单)
- gitlab环境搭建
- Search an Element in an array
- AMH 5.X下安装 Flarum
- 18-10-31 Scrum Meeting 3
- 第八周学习笔记-ADO.Net中DataTable的应用
- 解决getElementsByClassName()在IE8下的兼容问题
- Ontology理论研究和应用建模
- Solr入门介绍
- python自学第14天 类
- Nginx配置项优化详解【转】
热门文章
- OpenGL学习进程(5)第三课:视口与裁剪区域
- [NOI2008]设计路线
- UVA11383 Golden Tiger Claw
- Java虚拟机的平台无关性与语言无关性
- HTML5 上传图片 到ASP.NET MVC
- maven 简介 —— maven权威指南学习笔记(一)
- Luogu-3222 [HNOI2012]射箭
- 【bzoj1260】涂色paint[CQOI2007](区间dp)
- [Codechef November Challenge 2012] Arithmetic Progressions
- ZooKeeper服务-操作(API、集合更新、观察者、ACL)