【问题标题】:What is the difference between JMS consumer and Message Driven Beans (MDB)JMS 消费者和消息驱动 Bean (MDB) 有什么区别
【发布时间】:2011-08-05 01:39:00
【问题描述】:

异步 ​​JMS(Java 消息服务)消费者与实际 MDB(消息驱动 Bean)之间有什么区别。我看到的唯一区别是 MDB 类 具有异步 JMS 使用者没有的 @MessageDriven 注释。

还有什么我想念的吗?

【问题讨论】:

    标签: jakarta-ee ejb jms java-ee-5 message-driven-bean


    【解决方案1】:

    在您的情况下,您的 MDB 充当 JMS 使用者。 MDB 是 EJB 特定术语,消费者是 JMS 术语。 JMS 使用者也可以是消息驱动的 POJO,从技术上讲,它不是 EJB。

    对cmets的回答

    A1。是的,可以正确地说普通 JMS 使用者不能像 EJB 一样被池化/管理,除非该 JMS 使用者碰巧由 EJB 或 Spring 容器等容器管理。

    A2。 MDB 实际上只是满足了与 EJB 进行异步通信的要求。如果它们是基于 JMS 的,那么您的 MDB 在技术上也是 JMS 消费者。但是 MDB 也可以是基于非 JMS 的,例如:基于 JCA(Java 连接器架构)的 MDB。您可以查看这篇文章以了解有关基于非 JMS 的 MDB 的更多详细信息:http://debupanda.blogspot.com/2006/08/using-ejb-30-message-driven-bean-with.html

    【讨论】:

    • 感谢您的回复...进一步详细说明您所说的我认为说普通 JMS 消费者不能使用 EJB 池化/控制(生命周期)/管理是正确的像MDB这样的容器可以吗?对吗?
    • 只是好奇 - 除了 JMS 之外,MDB 还可以在哪些其他消息传递基础架构中工作? [这个问题是从您关于“您的 MDB 在您的情况下充当 JMS 消费者”的评论中提出的] 我知道他们可以,但没有看到来自谷歌搜索的太多链接指向 MDB 可以使用的其他选项。 .
    • @rooban bajwa:由于评论空间有限,因此已回答上述问题。
    猜你喜欢
    • 2014-09-06
    • 2017-06-13
    • 2012-02-27
    • 2011-07-15
    • 1970-01-01
    • 2012-01-28
    • 2019-10-03
    • 2016-10-23
    • 2023-04-08
    相关资源
    最近更新 更多