【问题标题】:Message Driven Bean-When To Use消息驱动 Bean-何时使用
【发布时间】:2010-08-17 11:00:31
【问题描述】:

javaEE 6 tutorial 表示不能异步使用 Session Bean,那么 EJB 3.1 中 @Asynchronous 注解的目的是什么,this article 表示可以使用它。有人可以解释何时使用消息驱动 Bean 吗?

谢谢!

【问题讨论】:

    标签: java jakarta-ee ejb-3.0


    【解决方案1】:

    Message Beans 保证了传递,一旦消息在队列中(假设队列是持久的),它就会被持久化,即使在崩溃的情况下,MessageBean 也会在启动时处理它。在异步会话 Bean 的情况下,如果发生崩溃,您会丢失消息,除非您自己处理。

    在教程中,我不同意:

    Session beans allow you to send JMS messages and to receive them synchronously, but not asynchronously.
    

    将消息放入队列是一个同步操作(任何方法调用也是如此),语义实际上是异步的,因为您将消息放入队列然后忘记它。我猜他们的意思是你可以从会话 bean 发送消息,然后同步等待响应(在大多数情况下可能不是一个好主意)

    要回答有关何时使用消息 Bean 的问题,您可以使用它们在队列上侦听异步消息,然后使用消息中的信息调用您需要调用的任何逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-05
      • 2017-06-13
      • 1970-01-01
      • 2012-07-21
      • 2016-09-28
      • 2013-05-16
      • 2011-07-15
      • 1970-01-01
      相关资源
      最近更新 更多