Не зная больше о том, как настроены ваши брокеры и какую структуру очередей / тем вы используете, немного сложно точно сказать, что происходит. Но, исходя из общего поведения, которое вы описали, на некотором уровне это звучит как управление потоком.
Смотрите здесь для более подробного объяснения управления потоком. По сути, если у вас есть пункт назначения, который заполняется и достигает предела памяти из-за медленного или зависания потребителя, у брокера может возникать впечатление «блокировки», когда новые производители пытаются отправлять сообщения.
Брокеры также могут блокироваться странным образом при достижении ограничений системной памяти. Проверьте значения конфигурации для:
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="64 mb" />
</memoryUsage>
<storeUsage>
<storeUsage limit="100 gb" />
</storeUsage>
<tempUsage>
<tempUsage limit="10 gb" />
</tempUsage>
</systemUsage>
</systemUsage>
Самый простой способ определить проблему такого рода - это использовать JMX-клиент, такой как jconsole, подключиться к брокерам и проверить текущее использование памяти с точки зрения их ограничений, для различных назначений и всего брокера. *