Java程序与非JDK对象之间的通信

时间:2011-12-29 14:32:59

标签: java rmi xml-rpc rpc xmlrpcclient

我正在寻找在同一台机器上运行的两个java程序之间的通信通道。我找到了一些选项(RMI和XML-RCP),但是我找到的所有示例都没有显示对象的交换,因为它是非原始的并且在JDK(我们自己的对象)上不知道。

那么,当我想这样做时,使用什么是简单的技术(注意Utils.jar它位于Server.jar和Client.jar的类路径上):

Utils.jar:

class MyClassRequestParams { ... }

class MyClassReturnParams { ... }

client.jar中:

// Server creation
...

// Send request
MyClassRequestParams params = new MyClass...

MyClassReturnParams response = server.send("serverMethodName", params);

的server.jar:

MyClassRequestParams serverMethodName(MyClassRequestParams params)
{
   MyClassReturnParams response = new MyC...

   // do processing

   return response;

}

2 个答案:

答案 0 :(得分:4)

只需让您的传输类实现Serializable接口,RMI就可以了。请注意,传输对象引用的每个对象也应该是Serializable。

RMI tutorial使用一个自定义Task接口的示例,该接口由不是“标准”JDK类的Pi自定义类实现。

答案 1 :(得分:1)

您也可以考虑Versile Java(我是其开发人员之一)。请按照链接获取远程调用和定义远程接口的示例。它实现了一个独立于平台的标准,用于远程ORB交互,目前也可用于python。