【发布时间】:2011-08-05 01:39:00
【问题描述】:
异步 JMS(Java 消息服务)消费者与实际 MDB(消息驱动 Bean)之间有什么区别。我看到的唯一区别是 MDB 类
具有异步 JMS 使用者没有的 @MessageDriven 注释。
还有什么我想念的吗?
【问题讨论】:
标签: jakarta-ee ejb jms java-ee-5 message-driven-bean
异步 JMS(Java 消息服务)消费者与实际 MDB(消息驱动 Bean)之间有什么区别。我看到的唯一区别是 MDB 类
具有异步 JMS 使用者没有的 @MessageDriven 注释。
还有什么我想念的吗?
【问题讨论】:
标签: jakarta-ee ejb jms java-ee-5 message-driven-bean
在您的情况下,您的 MDB 充当 JMS 使用者。 MDB 是 EJB 特定术语,消费者是 JMS 术语。 JMS 使用者也可以是消息驱动的 POJO,从技术上讲,它不是 EJB。
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
【讨论】: