Spring JMS и ActiveMQ Artemis: управление таймаутом для синхронных сообщенийJAVA

Программисты JAVA общаются здесь
Гость
Spring JMS и ActiveMQ Artemis: управление таймаутом для синхронных сообщений

Сообщение Гость »


У меня есть огромное приложение, использующее JMS для связи. К сожалению, на данный момент все сообщения синхронны, и мы используем метод JmsTemplate#sendAndReceive.

Хорошо, это работает! Но....

Если у нас есть таймаут, производитель закрывает временную очередь (определенную для получения ответа), как и ожидалось. Но когда прослушиватель завершит обработку, он заново создаст временную очередь для отправки ответа. Эта очередь является временной (без потребителя), но адрес также не помечается как временный.

В результате у нас есть несколько адресов и очередей, ожидающих обработки ответа потребителем, и этого никогда не произойдет.

Как предотвратить повторное создание временной очереди, если производитель (исходного сообщения) закрыл ее раньше и больше не ждет?

Изменить: я использую Artemis 2.29.0, но с последней версией 2.31.0 у меня такое же поведение

Вернуться в «JAVA»