【发布时间】:2011-12-23 21:12:58
【问题描述】:
我有几个关于 HornetQ 的问题:
HornetQ 核心 API 和 JMS API 有什么区别?
使用其中一种有什么优点或缺点吗?
如果我使用核心 API 然后我决定 更改我的消息总线(假设是 ActiveMQ)然后我必须 更改我所有的代码?
【问题讨论】:
标签: message-queue hornetq
我有几个关于 HornetQ 的问题:
HornetQ 核心 API 和 JMS API 有什么区别?
使用其中一种有什么优点或缺点吗?
如果我使用核心 API 然后我决定 更改我的消息总线(假设是 ActiveMQ)然后我必须 更改我所有的代码?
【问题讨论】:
标签: message-queue hornetq
HornetQ Core API 是 HornetQ 的专有 API,而 JMS API 是 Java Community Process 定义的标准 API。
有一些 JMS API 不支持的功能可通过 core-api 获得:
在一个主题订阅上不可能有多个消费者(例如,如果您想拥有多个消费者以更好地扩展它)
关于如何创建订阅更通用。您只需在地址内创建一个队列。很简单。
我们有一个很好的异步确认 API。如果您使用此功能,则无需阻止。
JMS 的优势在于可移植性。如果您决定在提供商之间移动,您的代码将保持不变。
JMS 的缺点是它缺少一些功能并且有点冗长,目前 JMS 2 JSR 正在开发的内容。
如果您封装您的消息传递访问,您可以最大限度地减少这种情况,尽管您可以使用标准 OO 技术替换系统上的单个类。
【讨论】: