Message queue HornetQ核心API和JMS

Message queue HornetQ核心API和JMS,message-queue,hornetq,Message Queue,Hornetq,关于大黄蜂Q,我有几个问题: HornetQ核心API和JMS API之间有什么区别 使用其中一种有什么优点或缺点吗 如果我使用核心API,然后决定 更改我的消息总线(比如说ActiveMQ),然后我必须 改变我所有的密码 HornetQ核心API是HornetQ的专有API,而JMS API是Java社区流程定义的标准API JMS API不支持以下几个功能,这些功能可通过核心API获得: 在一个主题订阅上不可能有多个使用者(例如,如果您希望有多个使用者来更好地扩展它) 它更通用于如何创建订

关于大黄蜂Q,我有几个问题:

  • HornetQ核心API和JMS API之间有什么区别

  • 使用其中一种有什么优点或缺点吗

  • 如果我使用核心API,然后决定 更改我的消息总线(比如说ActiveMQ),然后我必须 改变我所有的密码

  • HornetQ核心API是HornetQ的专有API,而JMS API是Java社区流程定义的标准API

  • JMS API不支持以下几个功能,这些功能可通过核心API获得:

    • 在一个主题订阅上不可能有多个使用者(例如,如果您希望有多个使用者来更好地扩展它)

    • 它更通用于如何创建订阅。您只需在地址中创建一个队列。很简单

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

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

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

  • 是的,因为正如我在这里所说的,Hornetq核心api是一个专有api,因此它只能在Hornetq上工作。与某些消息系统使用专有API的方式相同

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

    请不要忘记接受答案,除非你还有更多的问题:)谢谢你的答案,读完后我还有另一个问题,我们可以让消费者或消息发送者在队列中,其中一些人使用核心API,一些人使用JMS吗?是的。。这不应该是个问题。顺便说一句:你应该接受正确的答案。。我知道,我投了赞成票,我在等你回答我的最后一个问题!!无论如何,谢谢。混合核心和JMS的时候有一个问题。假设您使用TextMessage生成,那么您必须在core中实现正确的读取,因为TextMessage将向CoreMessage添加字节。如果您总是使用BytesMessage,那么这不会是一个问题