我正在寻找在同一台机器上运行的两个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就可以了.请注意,传输对象引用的每个对象也应该是Serializable.
RMI tutorial使用一个自定义Task接口的示例,该接口由不是“标准”JDK类的Pi自定义类实现.