DefaultMessageListenerContainer是否可以从不同的JMS连接创建n个JMS会话



我已经设置了我的DefaultMessageListenerContainer,并实现了javax.jms.MessageListener。

我使用连接到cachingconnectionFactory的MQQueueConnectionFactory。在DefaultMessageListenerContainer中将cacheconsumers设置为true,并将sessionCacheSize设置为等于concurrentconsumers的数量。

我看到,当concurrentconsumers设置为10时,将从一个JMS连接创建十个JMS会话。有没有一种方法可以从10个不同的JMS连接创建JMS会话?

请告知。

当使用缓存连接工厂时,它不是SingleConnectionFactory的子类;如果需要单独的连接,请直接使用供应商连接工厂。为什么您想要/需要单独的连接?

通常不需要将CCF与侦听器容器一起使用,因为会话是长寿命的,而且在任何情况下,如果使用可变并发性,缓存消费者都可能导致问题。

请参阅此答案以获得更详细的解释。

最新更新