У меня проблема с ActiveMQ 5.14.5. У меня есть несколько приложений (например, Spring Transacted DefaultMessageListenerContainer или Scala Alpakka
с сеансом транзакции), которые потребляют от этого брокера.
Время от времени выясняется, что какой-то потребитель (для каждого имеющегося у нас типа приложения) получает сообщения, обрабатывает их, но подтверждение / принятие не достигает посредника. Потребитель обрабатывает все сообщения до предопределенного предела, а затем брокер прекращает отправку новых сообщений потребителю. Когда потребитель убит, сообщения остаются на брокере.
Я пытался отследить трафик TCP с помощью Wireshark, и во время такого инцидента я не вижу подтверждающих сообщений обратно брокеру. Однако KeepAlive идет между брокером и потребителем, поэтому кажется, что TCP действителен.
Сообщения являются постоянными. Брокер выставляется через Kubernetes Ingress. В приложении и брокере нет журналов, которые бы указывали на что-то не так.
Есть идеи, что может быть не так?