异步JMS(Java消息服务)使用者与实际MDB(消息驱动Bean)之间是否存在任何差异。我看到的唯一区别是MDB类
具有@MessageDriven
注释,异步JMS使用者没有。
我还缺少什么?
答案 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