Java 如何并发处理异步jms队列消息?

Java 如何并发处理异步jms队列消息?,java,jms,Java,Jms,我的JMS消费者在一天中在JMS队列上生成任意数量的消息。一 消息到达后,它将发送给消息侦听器。如果在这中间我需要一些其他的消息来,它去另一个消息侦听器不等待第一个 根据我在这里的理解,我需要创建两个消费者(假设我要同时处理2条消息),每个消费者都有自己的会话。两个使用者可以使用相同的消息侦听器。对吧? 我不确定我是否可以用单个消费者实现它,但我可以用多个侦听器吗 类似这样的内容根据@bgth cites,单个会话中的多个MessageListener不会提供并发性: 用于创建消息使用者的会话序

我的JMS消费者在一天中在JMS队列上生成任意数量的消息。一 消息到达后,它将发送给消息侦听器。如果在这中间我需要一些其他的消息来,它去另一个消息侦听器不等待第一个

根据我在这里的理解,我需要创建两个消费者(假设我要同时处理2条消息),每个消费者都有自己的会话。两个使用者可以使用相同的消息侦听器。对吧?

我不确定我是否可以用单个消费者实现它,但我可以用多个侦听器吗

类似这样的内容

根据@bgth cites,单个会话中的多个MessageListener不会提供并发性:

用于创建消息使用者的会话序列化了在会话中注册的所有消息侦听器的执行。在任何时候,只有一个会话的消息侦听器正在运行


对于并发性,您需要在单独的线程中有多个会话和多个使用者。在这种情况下,您可以重用相同的MessageListener,但它必须是线程安全的。

如果您有一个不依赖上下文的使用者,则可以在执行未初始化使用者的单个实例的线程上实例化一个使用者和n个侦听器。不过,您需要确保您的代码是线程安全的。。。只是想一想。消费者和“消息侦听器”有什么区别?请查看文档@我的理解是正确的。我们必须创建两个具有单独会话的使用者。可以使用单个使用者,但使用两个备用侦听器。对吗?