JMS使用者和消息驱动Bean(MDB)之间有什么区别

时间:2011-04-13 21:10:29

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

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

我还缺少什么?

1 个答案:

答案 0 :(得分:8)

您的MDB在您的案例中充当JMS使用者。 MDB是EJB特定术语,而消费者是JMS术语。 JMS使用者也可以是消息驱动的POJO,它在技术上是EJB。

评论答案

A1。是的,可以说普通的JMS使用者不能像EJB一样进行池化/管理,除非JMS使用者恰好由EJB或Spring容器等容器管理。

A2。 MDB实际上只满足与EJB的异步通信的要求。当它们基于JMS时,您的MDB在技术上也是 JMS Consumer 。但是MDB也可以基于非JMS ,例如:基于JCA(Java连接器体系结构)的MDB。您可以查看此帖子,了解有关基于非JMS的MDB的更多详细信息:http://debupanda.blogspot.com/2006/08/using-ejb-30-message-driven-bean-with.html

相关问题