3

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

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

实用程序.jar:

class MyClassRequestParams { ... }

class MyClassReturnParams { ... }

客户端.jar:

// Server creation
...

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

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

服务器.jar:

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

   // do processing

   return response;

}
4

2 回答 2

4

只需让您的传输类实现 Serializable 接口,RMI 一切都会好起来的。请注意,传输对象引用的每个对象也应该是可序列化的。

RMI 教程使用了一个带有自定义任务接口的示例,该接口由非“标准”JDK 类的 Pi 自定义类实现。

于 2011-12-29T14:35:49.010 回答
1

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

于 2012-02-29T11:37:08.030 回答