spring – DefaultMessageListenerContainer不接收消息
作者:互联网
我有一个DefaultMessageListenerContainer配置如下:
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
container.setConcurrentConsumers(4);
container.setConnectionFactory(connectionFactory);
container.setDestinationName(String.format("Consumer.%s.VirtualTopic.%s", group, topic));
container.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE);
container.setSessionTransacted(true);
container.setMessageListener(new DelegatingMessageListener(listener, messageMapper, event));
container.start();
消息容器永远不会收到消息,我的消息监听器永远不会被调用.保持其他所有相同,如果我只是将DefaultMessageListenerContainer切换到SimpleMessageListenerContainer,它可以工作 – 但是连接丢失后SimpleMessageListenerContainer不会恢复
日志中没有错误,几乎没有任何相关消息.有没有人有理由说明为什么会这样?
解决方法:
在Java中构造容器(在Spring应用程序上下文之外)时,需要在start()之前调用afterPropertiesSet().
上下文自动为Spring bean执行此操作.
标签:spring,jms,activemq,spring-jms 来源: https://codeday.me/bug/20190714/1459855.html