2011-12-29 33 views
3

我正在尋找運行在同一臺機器上的兩個java程序之間的通信通道。我發現了一些選項(RMI和XML-RCP),但是我沒有發現任何示例交換對象的類,它們是非原始的,並且在JDK(我們自己的對象)上不知道。Java程序與非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; 

} 

回答

4

只要讓你的交通類實現Serializable接口,並且RMI一切都會很好。請注意,傳輸對象引用的每個對象也應該是Serializable。

RMI tutorial使用一個自定義任務接口的示例,該接口由一個不是「標準」JDK類的Pi自定義類實現。

1

您也可以考慮Versile Java(我是其開發人員之一)。按照鏈接進行遠程調用和定義遠程接口的示例。它爲遠程ORB交互實現了一個與平臺無關的標準,目前也可用於python。