Как использовать шаблон запроса/ответа с помощью Smallrye с MQ в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как использовать шаблон запроса/ответа с помощью Smallrye с MQ в Java

Сообщение Anonymous »

Я пытаюсь реализовать шаблон запроса/ответа в стиле RPC, используя SmallRye Reactive Messaging с IBM MQ в приложении Quarkus.
Я уже знаю, как реализовать этот шаблон с помощью простого JMS:
  • Производитель отправляет сообщение с уникальным JMSCorrelationID
  • Потребитель отвечает, используя один и тот же идентификатор корреляции.
  • Производитель использует селектор сообщений, например:

    Код: Выделить всё

    JMSCorrelationID = 'some-id'
    так что он получает только соответствующий ответ
Это отлично работает в традиционном JMS, потому что я могу создать временную очередь и прикрепить динамический селектор сообщений во время потребления.

Проблема с SmallRye
SmallRye Reactive Messaging, похоже, не поддерживает динамическую корреляцию Идентификаторы в канале @Incoming.
Для конфигурации требуется статический селектор в application.properties, например:

Код: Выделить всё

mp.messaging.incoming.reply-channel.selector=JMSCorrelationID='123'
Но для шаблона запроса/ответа каждый запрос имеет другой идентификатор корреляции (обычно UUID), поэтому я не могу предварительно настроить фиксированный селектор.
SmallRye не предлагает способа:
  • Создать динамического потребителя во время выполнения
  • Динамически применить селектор
  • Привязка входящего канала к временной очереди, созданной на лету
Поэтому я не могу воссоздать обычный поток запросов/ответов JMS с помощью SmallRye, если не вернусь к необработанным API JMS.

Вопрос
Есть ли способ реализовать Шаблон запроса/ответа JMS с идентификаторами динамической корреляции (или временными очередями) с использованием SmallRye Reactive Messaging + IBM MQ?
Или это единственное жизнеспособное решение, позволяющее обойти SmallRye и использовать JMS API напрямую для этого конкретного варианта использования?

Подробнее здесь: https://stackoverflow.com/questions/798 ... mq-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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