Spring DefaultJmsListenerContainer调整以侦听多个队列

问题描述 投票:0回答:1

我们有50个@JMSListener类,它们从同一应用程序连接到50个不同的SQS队列。每个队列使用不同的侦听器容器是否更好?

我们将相同的ListenerContainer与SQSConnectionFactory一起用于发送和接收消息。如果我们为队列添加单独的ListenerContainer和多个JMSTemplate来将消息发送到消息数量很高的队列。

请您指教

spring spring-boot spring-jms
1个回答
0
投票

如果您有50个@JMSListener类在50个队列上侦听,则您已经有50个ListenerContainer。我不知道有什么方法可以让DefaultMessageListenerContainer监听多个队列。

如果遇到性能问题,请查看org.messaginghub.pooled.jms.JmsPoolConnectionFactoryorg.apache.activemq.jms.pool.PooledConnectionFactory。默认情况下,JMSTemplate将为发送的每个消息创建一个新的JMS连接和会话。这非常昂贵。根据您的配置,DefaultMessageListenerContainer也可以针对收到的每条消息执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.