如何在2个java程序之间进行通信?

时间:2010-10-13 15:23:56

标签: java

  

可能重复:
  Communication between two separate Java desktop applications

我在同一个客户端上运行了两个java程序,我怎么能这样做,第一个程序将一些参数或日期传递给第二个程序?

4 个答案:

答案 0 :(得分:2)

这取决于您希望如何传达这两个程序:

  • 如果只需要进程间信号量,请在/ tmp中的某处创建一个文件并将其锁定。

  • 如果只需要进程间同步消息传递(远程过程调用),则RMI应该是最简单的。

  • 如果需要异步进程间消息传递,JMS应该是最简单的。

  • 如果需要进程间共享内存,请使用映射文件。

  • 如果您需要以上所有内容,Terracotta(http://www.terracotta.org/)是最简单的方法:在相同甚至不同计算机上的不同JVM上的Java程序看到彼此就好像它们一样在一台机器上的一个JVM内执行。将一个程序拆分成几个甚至不需要任何代码更改 - 这足以编写XML配置文件。

答案 1 :(得分:0)

你需要一个听众和一个客户。

您可以使用套接字或RMI或您选择的任何其他协议来执行此操作。

答案 2 :(得分:0)

根据您的要求,Java Messaging ServiceJetlangJavaSpaces可能是合适的。

答案 3 :(得分:0)

假设您的意思是这些程序在不同的JVM中运行,您需要使用Java Messaging Service,JavaSpaces或上帝禁止的CORBA。与其他JMS一样,JMS需要一个JMS服务器,例如activemq,但其他方面并不是那么可怕而且非常强大。如果你想使用java.util.concurrent或JetLang(我认为),你必须让两个程序在同一个JVM下运行。你能从另一个程序启动一个程序,以便它们共享相同的JVM内存空间吗?

相关问题