I have a DefaultMessageListenerContainer configured as follows:
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();
The message container never receives messages, and my message listener is never invoked. Leaving all else the same, if I just switch DefaultMessageListenerContainer to SimpleMessageListenerContainer, it works - but SimpleMessageListenerContainer doesn't recover after a connection loss
There are no errors in the logs, and hardly any relevant messages. Does anyone have any reasons for why this may be happening?
SimpleMessageListenerContainer
has an overriddendoStart
method that actually creates the listeners. I don't see that corresponding code inDefaultMessageListenerContainer
, which is interesting. Maybe I'm missing something. – ThermobarometerafterPropertiesSet()
. – Cuthburt