【问题标题】:How to communicate between 2 java programs? [duplicate]如何在 2 个 java 程序之间进行通信? [复制]
【发布时间】:2011-04-24 22:15:41
【问题描述】:

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

我在同一个客户端上运行了两个 java 程序,第一个程序如何将一些参数或日期传递给第二个程序?

【问题讨论】:

标签: java


【解决方案1】:

你需要一个监听器和一个客户端。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • java.util.concurrent 仅适用于程序内部的线程 - 它不支持进程间通信。
    【解决方案3】:

    假设您的意思是这些程序在不同的 JVM 中运行,您将需要使用 Java 消息服务、JavaSpaces 或上帝禁止的 CORBA。 JMS 和其他 JMS 一样,有开销,因为您需要一个 JMS 服务器,例如 activemq,但除此之外并没有那么可怕和非常强大。如果您想使用 java.util.concurrent 或 JetLang(我认为),您必须让这两个程序在同一个 JVM 下运行。您能否从另一个程序启动一个程序,使它们共享相同的 JVM 内存空间?

    【讨论】:

      【解决方案4】:

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

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

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

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

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

      • 1234563在一台机器上的一个 JVM 内执行。将一个程序分成几个甚至不需要任何代码更改 - 编写一个 XML 配置文件就足够了。

      【讨论】:

        猜你喜欢
        • 2015-08-04
        • 2015-07-23
        • 2017-05-19
        • 1970-01-01
        • 2011-03-21
        • 2011-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多