【问题标题】:Difference between RMI and ActiveMQRMI 和 ActiveMQ 的区别
【发布时间】:2011-12-27 21:09:30
【问题描述】:

我目前正在尝试熟悉多层应用程序(服务器/客户端架构)。 为此,我创建了服务接口和相关的服务实现。

两个模块 - 客户端和服务器 - 都知道接口(通过构建路径包含)。

应用程序的目的是客户端可以从服务器接收数据,也可以将数据发送到服务器,然后将数据存储到数据库中。

看来我需要双向沟通。 “标准”Java RMI 是正确的方法还是我需要使用像 ActiveMQ 这样的 JMS 实现?

我看不出这两种方法的主要区别? RMI 是同步的而 JMS 是异步的是唯一的,还是不止这些?

另外,你能推荐一个 ActiveMQ 教程甚至书籍吗?

【问题讨论】:

    标签: java architecture rmi activemq multi-tier


    【解决方案1】:

    我们在这里讨论的是两种不同的技术,每种技术都有不同的使用场景。 RMI 是一种 Java 应用程序编程接口 (API),它支持在 Java 程序之间远程调用方法,其预期用途是构建同步的分布式应用程序。 RMI 是远程过程调用 (RPC) 的 Java 等价物。

    另一方面,ActiveMQ 是一种产品,一种面向消息的中间件 (MOM),可用于接收和处理异步消息(队列或主题),Java 应用程序通常会使用 JMS API 与此类系统进行通信。

    当您需要以分布式同步方式与另一个 Java 应用程序通信时,您将使用 RMI,而您将使用 JMS 发送要异步处理的消息,并且原则上处理可能涉及使用任何其他技术编写的系统,不仅仅是 Java(与 RMI 不同)。

    异步消息传递通常用于解决集成不同系统的架构问题,关于该主题的一本非常好的(与技术无关的)书籍是Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

    最后,ActiveMQ in Action 是一本关于 ActiveMQ 的好书。

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2010-12-26
    • 2011-07-03
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 2019-08-25
    相关资源
    最近更新 更多