Closed officialgituser closed 3 months ago
From the report, it's unclear why you think this is a problem with DefaultMessageListenerContainer
. To confirm that, can you validate this does not happen when you use the JMS API directly? Or, alternatively, share a small sample we can run ourselves that reproduces the behavior you've described.
Thanks for getting back.. We finally got a clue that those listener threads were stuck on a socket.read awaiting response from DB and since we dont have any sockettimeouts configured, the wait was indefinite.
Affects:
spring-jms v5.3.34 activemq server v5.16.7
Some times messages to a group are not getting dispatched to the consumer. Once this happens to a group then all the new messages to this group are never dispatched. Our prefetch policy is jms.prefetchPolicy.all=0, so I assume the consumer is at fault here for not polling and getting the message rather than broker end.
Queue Attributes
From the EnqueueCount and DispatchCount, it's clear that there are 44 messages that were not dispatched to the consumer. All these 44 messages belong to same group(JMXGroupId - mygroupId03) and the consumer for this group (host2.xyz.org-37591-1716810429987-1_404_12_248) that belongs to java process (worker-7-37591) consumes messages from queue without issue. Its just that every new message with JMXGroupId - mygroupId03 keeps piling up without ever getting dispatched(or polled by the consumer).
jstack.txt