java消息驱动Bean何时使用
javaEE 6 tutorial表示不能异步使用会话Bean,那么this article表示可以使用它的@Asynchronous annotation在EJB3.1中的用途是什么。有人能解释一下什么时候使用消息驱动Bean吗
谢谢
你可以在下面搜索框中键入要查询的问题!
javaEE 6 tutorial表示不能异步使用会话Bean,那么this article表示可以使用它的@Asynchronous annotation在EJB3.1中的用途是什么。有人能解释一下什么时候使用消息驱动Bean吗
谢谢
# 1 楼答案
消息bean保证了消息的传递,一旦消息在队列上(假设队列是持久的),它就会被持久化,即使在崩溃的情况下,启动时MessageBean也会处理它。在异步会话bean的情况下,在崩溃的情况下,您丢失了消息,除非您自己处理
在本教程中,我不同意:
将消息放在队列上是一个同步操作(在这方面,任何方法调用都是如此),语义实际上是异步的,因为您将消息放在队列上,然后忘记了它。我猜他们的意思是,您可以从会话bean发送消息,然后同步等待响应(在大多数情况下可能不是一个好主意)
为了回答您关于何时使用消息bean的问题,您可以使用消息bean在队列上侦听异步消息,然后调用需要调用的任何逻辑以及消息中的信息