10

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

还有什么我想念的吗?

4

1 回答 1

8

在您的情况下,您的 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

于 2011-04-13T21:16:18.700 回答