Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 消息驱动Bean何时使用_Java_Jakarta Ee_Ejb 3.0 - Fatal编程技术网

Java 消息驱动Bean何时使用

Java 消息驱动Bean何时使用,java,jakarta-ee,ejb-3.0,Java,Jakarta Ee,Ejb 3.0,声明不能异步使用会话Bean,那么EJB3.1中@Asynchronous注释的用途是什么呢。有人能解释一下什么时候使用消息驱动Bean吗 谢谢 消息bean有保证的传递,一旦消息在队列上(假设队列是持久的),它就会被持久化,即使在崩溃的情况下,启动时MessageBean也会处理它。在异步会话bean的情况下,在崩溃的情况下,您丢失了消息,除非您自己处理 在本教程中,我不同意: Session beans allow you to send JMS messages and to receiv

声明不能异步使用会话Bean,那么EJB3.1中@Asynchronous注释的用途是什么呢。有人能解释一下什么时候使用消息驱动Bean吗


谢谢

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

在本教程中,我不同意:

Session beans allow you to send JMS messages and to receive them synchronously, but not asynchronously.
将消息放在队列上是一个同步操作(在这方面,任何方法调用都是如此),语义实际上是异步的,因为您将消息放在队列上,然后忘记了它。我猜他们的意思是,您可以从会话bean发送消息,然后同步等待响应(在大多数情况下可能不是一个好主意)

为了回答您关于何时使用消息bean的问题,您可以使用消息bean在队列上侦听异步消息,然后调用需要调用的任何逻辑以及消息中的信息