你不想要多个
DefaultMessageListenerContainer实例,不,但是你需要
DefaultMessageListenerContainer使用
concurrentConsumers属性将并发配置为:
指定要创建的并发使用者数。默认值为1。
为此设置指定较高的值将提高运行时调度的并发使用者的标准级别:这实际上是在任何给定时间调度的最小并发使用者数。这是静态设置;对于动态缩放,请考虑改为指定“ maxConcurrentConsumers”设置。
建议增加并发使用者的数量,以扩展从队列传入的消息的用量。但是,请注意,一旦注册了多个使用者,任何订购保证都将丢失。通常,对于少量队列,请坚持使用1个使用者。
但是,在底部有一个大警告:
不要增加主题的并发使用者数量。这将导致同时消耗同一消息,这几乎是不希望的。
这很有趣,并且在你考虑时是有道理的。如果你有多个DefaultMessageListenerContainer实例,则会发生相同的情况。
我想也许你需要重新考虑你的设计,尽管我不确定我会建议什么。并发使用pub / sub消息似乎是一件很合理的事情,但是如何避免同一条消息同时传递给所有使用者呢?



