答案 0 :(得分:12)
JMS和消息驱动的bean不是/或选择,两者是互补的。
JMS是用于传递消息的API和技术。消息驱动Bean(MDB)是一种API,用于将JMS消息作为EJB样式的事件接收。有许多处理JMS消息的方法,MDB只是其中之一。
消息驱动的bean可以实现任何消息传递类型。最常见的是,它们实现了Java消息服务(JMS)技术。
顺便说一下,你的主题是MBean - 这完全不同(指的是JMX API),与JMS无关。
答案 1 :(得分:2)
JMS是Java Messaging Service规范;它是Java EE中队列和主题的API。
我熟悉的MDB通常实现javax.jms.MessageListener
接口,将主题或队列侦听器封装到由Java EE容器管理的组件中。
但是在评论中我已经指出这不是一个要求; MDB可以用作Java Connector API的一部分。