【问题标题】:Messaging - Why Entity Bean or Session Bean not suitable消息传递 - 为什么实体 Bean 或会话 Bean 不适合
【发布时间】:2012-07-01 18:08:37
【问题描述】:

对于消息传递系统/处理消息 - 使用 MDB;不要使用实体 Bean 或会话 Bean。请告诉我原因。

感谢 Adv
RW

【问题讨论】:

    标签: ejb jms


    【解决方案1】:

    MDB 旨在接受消息,而其他的则不接受。来自an old Sun tutorialstill 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 无法保证这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-23
      • 2012-01-17
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2015-11-27
      相关资源
      最近更新 更多