Очередь ответов не обновляется в IBM MQ при указании типа сообщения как запроса

jmsTemplate.sendAndReceive("Queue2", session -> {
                TextMessage msg = session.createTextMessage();
                msg.setText(message);
                msg.setJMSReplyTo(config.getReplyQ());      //Not updated but auto generated queue updated
                msg.setJMSCorrelationID("asd_123584_lkj");  //Updated in Destination Queue
                msg.setJMSType("MQSTR");

                System.out.println("Message : "+msg);

                return msg;
            });


public Destination getReplyQ() throws JMSException {
        MQQueue replyToQ = new MQQueue(queueManager, replyQueue);
        Destination replyTo = (Destination) replyToQ;
        return replyTo;
    }

Очередь ответов не обновляется в IBM MQ при указании типа сообщения как запроса

Я прочитал некоторые статьи, в которых говорится, что использование JMS будет обновлять RFH, но не MQMD, и эта очередь ответов является частью MQMD, и я не нашел подходящего класса для обновления заголовка MQMD и отправки сообщения в MQ и обновления ответа. стоять в очереди.

Вы проверяли/записывали, что возвращает config.getReplyQ()?

chughts 29.03.2022 12:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
jmsTemplate.send(config.getQ(), session -> {
            TextMessage msg = session.createTextMessage();
            msg.setText(message);
            msg.setJMSReplyTo(config.getReplyQ());
            msg.setJMSCorrelationID("asd_123584_lkj");
            System.out.println("Message : " + msg);
            return msg;
        });

Вышеупомянутый метод установит JMSReplyTo.

Здесь присутствует определение sendAndReceive, в котором говорится, что «временная очередь создается как часть этой операции и устанавливается в заголовке сообщения JMSReplyTO».

А для игнорирования заголовка RFH2 можно использовать setTargetClient (WMQConstants.WMQ_CLIENT_NONJMS_MQ), как показано ниже:

public Destination getQ() throws JMSException {
        MQQueue replyToQ = new MQQueue(queueManager, queues);
        replyToQ.setTargetClient(WMQConstants.WMQ_CLIENT_NONJMS_MQ);
        Destination rt = (Destination) replyToQ;
        return rt;
    }

Другие вопросы по теме

Передать результат метода @Transactional из службы в уровень контроллера Spring Boot
Для учетной записи Stripe Standard в качестве страны указана Индия, а не США
Liquibase, поставляемая с Spring Boot, хорошо обрабатывает базу данных с помощью changelog.xml. Как он может одновременно генерировать свой sql?
Использование внешнего API и преобразование из строки JSON в bean-компонент не инициализирует свойства. Атрибуты объекта NULL. Весенний ботинок, Мейвен
Как я могу сделать ссылку первичного ключа идентификатора пользователя на user_id в другой таблице в качестве внешнего ключа?
Jarlauncher не был найден при использовании режима весенних загрузочных инструментов
Как изменить конечную точку работоспособности по умолчанию, используемую администратором весенней загрузки
Слишком много HTTP-запросов при веб-запросе только одного видео в формате MP4
@Mockbean не работает с bean-компонентом, не заданным в нескольких классах
Попытка просмотреть данные в формате pdf, pdf пустой