【发布时间】:2021-03-29 16:07:09
【问题描述】:
我需要以下代码的帮助。如下所述使用DefaultMessageListenerContainer 时使用SingleConnectionFactory 可以吗?由于达到每个客户端的最大连接数,我遇到了 QM 通道断开连接的问题。
JmsListenerContainerFactory<DefaultMessageListenerContainer> createJmsListenerContainerFactory(
ConnectionFactory cf,DefaultJmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
configurer.configure(factory, new SingleConnectionFactory(cf));
factory.setSessionTransacted(true);
factory.setConcurrency("15-50");
factory.setSessionAcknowledgeMode(2);
factory.setBackOff(new FixedBackOff());
return factory;
}
这是我的JmsListener 使用它的方式:
@Bean(name = "containerFactory")
public MQConnectionFactory mqConnectionFactory(DefaultJmsListenerContainerFactoryConfigurer configurer) throws NamingException {
//call to createJmsListenerContainerFactory()
}
@JmsListener(destination = "queue1", containerFactory = "containerFactory", concurrency = "16-32")
【问题讨论】:
标签: java spring-jms