2014-01-09 70 views
1

我有2個程序。我想在程序之間創建任務委託。如何在沒有RabbitMQ和基於套接字的服務器的情況下向其他程序提供任務?我只想用vanilla Java的方式來實現。進程間通信方式

我看到:

  • 的ExecutorService
+0

*「我只想用香草Java方式實現。」*爲什麼? –

+1

Vanilla Java = Java 1.0? –

+0

這是我今天看到的第二個問題。我確信在不使用套接字的情況下,可能有1000種方法在兩個Java應用程序之間進行通信。不知道你爲什麼想要,但我會咬。首先想到的是使用平面文件。讓一個應用程序監視一個文件夾,讓另一個應用程序將文件寫入文件夾。您將不得不做些事情,讓監控應用程序知道發件人尚未完成。也許寫一個.tmp擴展的文件,接收者可以忽略,然後發送者可以在文件完成時重命名文件。 – CodeChimp

回答

2

你只有兩個選擇是網絡套接字,文件/文件鎖定,或者一些JNI,你已經寫了使用OS專用進程間通信。

我會使用第三方基於套接字的消息隊列。

+0

我同意。您不必在電線上發送數據包。例如,您可以將消息傳遞/套接字綁定到本地主機,並且數據包永遠不會觸及連線。 – CodeChimp