Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java程序与非JDK对象之间的通信_Java_Rmi_Xml Rpc_Rpc_Xmlrpcclient - Fatal编程技术网

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

Java程序与非JDK对象之间的通信,java,rmi,xml-rpc,rpc,xmlrpcclient,Java,Rmi,Xml Rpc,Rpc,Xmlrpcclient,我正在寻找在同一台机器上运行的两个java程序之间的通信通道。我发现了一些选项(RMI和XML-RCP),但我发现的示例中没有一个显示对象的交换,它是非基本类,在JDK(我们自己的对象)上是未知的 那么,当我想这样做时,最容易使用的技术是什么(注意Utils.jar它位于Server.jar和Client.jar的类路径上): Utils.jar: class MyClassRequestParams { ... } class MyClassReturnParams { ... } Cli

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

}

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

使用一个自定义任务接口的例子,它由PI自定义类实现,而不是一个“标准”JDK类。

您也可以考虑(我是它的开发人员之一)。下面的链接提供了进行远程调用和定义远程接口的示例。它实现了一个独立于平台的远程ORB交互标准,目前也可用于python