RMI定义:
RMI即远程方法调用(Remote Method Invocation)。能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。
RMI使用的是JRMP(Java Remote Messageing Protocol), JRMP是专门为java定制的通信协议,所以踏实纯java的分布式解决方案。
实现方式:
1. 创建远程接口, 并且继承java.rmi.Remote接口
2. 实现远程接口,并且继承:UnicastRemoteObject
3. 创建服务器程序: createRegistry方法注册远程对象
4. 创建客户端程序
实例:
public interface IPay extends Remote{
String pay()throws RemoteException;
}
public class PayService extends UnicastRemoteObject implements IPay{
private static final long serialVersionUID = -5725523341035516603L;
public PayService() throws RemoteException {
super();
}
@Override
public String pay()throws RemoteException {
return "支付成功,我们已通知卖家尽快为您发货!";
}
}
//测试
IPay pay = new PayService();
LocateRegistry.createRegistry(8080);
Naming.bind("rmi://localhost:8080/doPay", pay);
System.out.println("server start suc!");
//client
IPay pay = (IPay)Naming.lookup("rmi://127.0.0.1:8080/doPay");
System.out.println(pay.pay());
console:
支付成功,我们已通知卖家尽快为您发货!