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

时间:2014-11-12 13:16:36

标签: spring-jms

我已经设置了我的DefaultMessageListenerContainer,并将javax.jms.MessageListener的实现连接到它。

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

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

请告知。

1 个答案:

答案 0 :(得分:0)

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

通常没有必要将CCF与侦听器容器一起使用,因为会话是长期存在的,并且,无论如何,如果使用变量并发,缓存使用者可能会导致问题。

有关更详细的说明,请参阅this answer