我正在寻找在同一台机器上运行的两个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;

}

最佳答案

只需使您的传输类实现Serializable接口,RMI就可以正常进行。请注意,传输对象引用的每个对象也应可序列化。

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

07-26 06:13
查看更多