读书人

rmi入门范例

发布时间: 2012-10-20 14:12:47 作者: rapoo

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);}}

?

读书人网 >编程

热点推荐