rmi入门实例
1.定义业务接口
package cn.rmi;import java.rmi.Remote;import java.rmi.RemoteException;/**远程业务接口*/public interface Business extends Remote{public String echo(String message) throws RemoteException;}
?
?
2.实现业务并配置
package cn.rmi;import java.rmi.AlreadyBoundException;import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;import java.rmi.server.UnicastRemoteObject;public class BusinessImpl implements Business{public String echo(String message) throws RemoteException {if("quit".equalsIgnoreCase(message)){System.out.println("远程调用结束!!");System.exit(0);}System.out.println("client :"+message);return "remote server response:"+message;}public static void main(String[] args) throws RemoteException, AlreadyBoundException {int port=9527;Business business=new BusinessImpl();UnicastRemoteObject.exportObject(business, port);Registry registry=LocateRegistry.createRegistry(1099);registry.bind("businessdemo", business);}}
?
?
3.客户端远程调用
package cn.rmi;import java.rmi.NotBoundException;import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;public class RmiClient {public static void main(String[] args) throws RemoteException, NotBoundException {Registry registry=LocateRegistry.getRegistry("localhost");Business business=(Business) registry.lookup("businessdemo");String message=business.echo("hello!");System.out.println(message);}}
?