3

Spring Message Listener Container 文档说:

http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jms/listener/AbstractMessageListenerContainer.html#setDurableSubscriptionName%28java.lang.String%29

持久订阅名称在此客户端的 JMS 客户端 ID 中必须是唯一的。默认是指定消息侦听器的类名。注意:每个持久订阅只允许 1 个并发使用者(这是此消息侦听器容器的默认值)。

我想,我们可以同时处理并发消息。我错过了什么吗?

4

2 回答 2

2

是的,文档是正确的。在任何时间点,都只能有一个消费者接收持久订阅的消息。所有持久订阅都由唯一的 id 标识。如果一个消费者已经在使用一个 id 接收消息,那么为该持久订阅创建具有相同 id 的消费者的另一次尝试将失败。

于 2012-04-04T10:04:08.040 回答
1

我以前遇到过这个问题,我们的日志充满了抱怨客户端 ID 已在使用中的警告。

虚拟主题是 ActiveMQ 的一个选项:这个想法类似于 @brainOverflow 所描述的,它是主题和队列的组合。生产者将消息发送到队列订阅的主题,每个队列接收消息的副本。

http://activemq.apache.org/virtual-destinations.html

于 2019-02-25T21:52:52.003 回答