4
javaEE 6 tutorial说你不能异步使用Session Bean,那么EJB 3.1中的@Asynchronous注释的目的是什么this article说你可以使用它。有人可以解释何时使用消息驱动Bean吗?消息驱动Bean--什么时候使用
谢谢!
javaEE 6 tutorial说你不能异步使用Session Bean,那么EJB 3.1中的@Asynchronous注释的目的是什么this article说你可以使用它。有人可以解释何时使用消息驱动Bean吗?消息驱动Bean--什么时候使用
谢谢!
消息Bean有保证传递,一旦消息在队列中(假设队列是持久的),它将被保存,甚至在崩溃的情况下,启动时MessageBean将处理它。在异步会话Bean的情况下,如果发生崩溃,您将失去您的消息,除非您自己处理。
在本教程中,我不同意:
Session beans allow you to send JMS messages and to receive them synchronously, but not asynchronously.
把消息放在队列是同步操作(对于这个问题,以便为任何方法调用),语义是真的异步的,因为你是把队列中的消息,然后忘记它。我猜这里他们的意思是你可以从会话bean发送消息,然后等待响应同步(可能不是一个好主意大部分)
要回答你的问题,何时使用消息豆,您可以使用它们在队列中侦听异步消息,然后调用您需要使用消息中的信息调用的任何逻辑。