3

我对 HornetQ 有几个问题:

  1. HornetQ 核心 API 和 JMS API 有什么区别?

  2. 使用其中之一有什么优点或缺点吗?

  3. 如果我使用核心 API 然后我决定更改我的消息传递总线(比如说 ActiveMQ)然后我必须更改我的所有代码,这是真的吗?

4

1 回答 1

5
  1. HornetQ Core API 是 HornetQ 的专有 API,而 JMS API 是 Java Community Process 定义的标准 API。

  2. JMS API 不支持一些功能,可通过 core-api 获得:

    • 在单个主题订阅上不可能有多个消费者(例如,如果您想拥有多个消费者以更好地扩展它)

    • 关于如何创建订阅更通用。您只需在地址内创建一个队列。非常简单。

    • 我们有一个很好的异步确认 API。如果您使用此功能,则无需阻止。

JMS 的优点是可移植性。如果您决定在提供商之间移动,您的代码将保持不变。

JMS 的缺点是它缺少一些特性,而且有点冗长,目前在 JMS 2 JSR 上正在工作。

  1. 是的,因为正如我在这里所说的,Hornetq-core api 是一个专有 API,因此它只能在 HornetQ 上工作。与某些消息系统相同的方式将具有专有 API。

如果您封装您的消息访问,您可以将其最小化,尽管您可以使用标准 OO 技术替换系统上的单个类。

于 2011-11-07T20:45:52.017 回答