Java之RMI设计模式基本原理与示例

2014-11-24 14:10:36 · 作者: · 浏览: 14

1. Name


RMI是Romote Method Invocation的缩写,就是远程方法调用。




2. Intent


具体的说,就是能够通过这种机制,实现在一个JVM上调用另一个JVM上的Java对象的方法。




3. Structure


(1)RMI Interface and Class


第一步:继承了Remote的interface


定义一个继承了Remote的interface,命名为TestRMIService。在其中有我们期望在Client端调用的方法testHello(),注意要抛出RemoteException。




第二步:继承了UnicastRemoteObject且实现了TestRMIService的class


定义一个继承了UnicastRemoteObject且实现了TestRMIService的class,命名为TestRMIServiceImpl。在其中实现testHello方法。




(2)RMI Server


第一步:


定义一个class,命名为TestServer,其中有main方法。在main方法中实例化TestRMIService一个远程对象,命名为testRMI。




第二步:


创建一个Registry,并向远程对象testRMI注册,注册名为“rmi://locahost:1234/testrmi”。




(3)RMI Client


第一步:


定义一个class,命名为TestClient,其中有main方法。查询注册




第二步:


查询注册名为“rmi://locahost:1234/testrmi”的TestRMIService远程对象,查询结果为testRMI。




第三步:


调用远程对象testRMI的方法testHello。




4. Sample Code


(1)TestRMIService




(2)TestRMIServiceImpl