Я уже знаю, как реализовать этот шаблон с помощью простого JMS:
- Производитель отправляет сообщение с уникальным JMSCorrelationID
- Потребитель отвечает, используя один и тот же идентификатор корреляции.
- Производитель использует селектор сообщений, например:
так что он получает только соответствующий ответКод: Выделить всё
JMSCorrelationID = 'some-id'
Проблема с SmallRye
SmallRye Reactive Messaging, похоже, не поддерживает динамическую корреляцию Идентификаторы в канале @Incoming.
Для конфигурации требуется статический селектор в application.properties, например:
Код: Выделить всё
mp.messaging.incoming.reply-channel.selector=JMSCorrelationID='123'
SmallRye не предлагает способа:
- Создать динамического потребителя во время выполнения
- Динамически применить селектор
- Привязка входящего канала к временной очереди, созданной на лету
Вопрос
Есть ли способ реализовать Шаблон запроса/ответа JMS с идентификаторами динамической корреляции (или временными очередями) с использованием SmallRye Reactive Messaging + IBM MQ?
Или это единственное жизнеспособное решение, позволяющее обойти SmallRye и использовать JMS API напрямую для этого конкретного варианта использования?
Подробнее здесь: https://stackoverflow.com/questions/798 ... mq-in-java
Мобильная версия