【发布时间】:2012-07-01 18:08:37
【问题描述】:
对于消息传递系统/处理消息 - 使用 MDB;不要使用实体 Bean 或会话 Bean。请告诉我原因。
感谢 Adv
RW
【问题讨论】:
对于消息传递系统/处理消息 - 使用 MDB;不要使用实体 Bean 或会话 Bean。请告诉我原因。
感谢 Adv
RW
【问题讨论】:
MDB 旨在接受消息,而其他的则不接受。来自an old Sun tutorial 但still the same in the up to date version
消息驱动 bean 和会话之间最明显的区别 实体 bean 是客户端不访问消息驱动的 bean 通过接口。接口在定义部分中描述 带接口的客户端访问。与会话或实体 bean 不同,一个 消息驱动的 bean 只有一个 bean 类
和
会话 bean 允许您发送和接收 JMS 消息 同步但非异步。避免占用服务器 资源,不要在 a 中使用阻塞同步接收 服务器端组件;通常,不应发送 JMS 消息或 同步接收。要异步接收消息,请使用 消息驱动的 bean。
换句话说:在会话 bean 中,您只能在调用 bean 时收到消息。应用服务器将自动调用附加到接收消息的目标(队列或主题)的 MDB 的 onMessage 方法。这意味着 MDB 将保证在每条消息可用时立即对其进行处理,而会话 bean 无法保证这一点。
【讨论】: