HornetQ核心API和JMS

Ash*_*sha 3 message-queue hornetq

关于HornetQ我几乎没有问题:

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

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

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

Cle*_*nic 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的方式相同.

如果您封装了Messaging访问权限,那么尽管您可以使用标准OO技术替换系统上的单个类,但可以将其最小化.