Очередь подтверждения и ответа WebSphere MQ - PullRequest
4 голосов
/ 29 февраля 2012

Мы отправляем текстовые сообщения XML через определение удаленной очереди CLIENT.DATA (очередь передачи, каналы send / recv и т. Д.) От нашего администратора очередей QM_MINE, администратора очередей QM_CLIENT и очереди CLIENT.DATA.Сообщение достигает пункта назначения (очередь CLIENT.DATA у клиента).Проблема заключается в том, чтобы иметь возможность получать подтверждающие сообщения (точную копию отправленного сообщения) в локальной очереди CLIENT.DATA.ACK в QM_MINE, как только сообщения достигают CLIENT.DATA в QM_CLIENT , автоматически .

Я нашел несколько ресурсов в информационном центре WebSphere v7.1 в очереди ответа и подтверждении сообщения однако они мне не очень помогли.

До сих пор я пытался использовать способ ответа в очередь.Я создал очередь передачи QM_MCT на QM.OCC.Каждое сообщение, которое я отправляю в очередь CLIENT.DATA, я определял очередь ответа, используя метод setJMSReplyTo ().Однако я уверен, что это не так, я скучаю больше.

Сводка объектов MQ:

QM_MINE: CLIENT_DATA (удаленный Q), QM_CLIENT (передача Q), CLIENT_DATA_ACK (локальный Q)

QM_CLIENT: CLIENT_DATA (локальный Q), QM_MforwardQ),

И, каналы отправителя / получателя на обоих концах.

Исходный код Фрагменты:

Клиентский отправитель данных (при транзакции):

public class ClientServiceImpl extends JmsGatewaySupport implements ClientService {

    @Override
    public void sendClientData(String dataXML) {
        getJmsTemplate().convertAndSend(dataXML);
    }
}

Конвертер сообщений:

public Message toMessage(Object o, Session session) throws JMSException, MessageConversionException {
    String dataXML = (String) o;
    TextMessage message = session.createTextMessage();
    message.setJMSReplyTo(replyToQueue);
    message.setText(dataXML);
    return message;
}

Примечание:

Текущий У меня нет ни MDP, ни MDB для прослушивания и приема сообщений из очереди CLIENT_DATA в QM_CLIENT.Я просто отправляю его из QM_MINE, и MQ переводит его в QM_CLIENT.Нужно ли мне использовать сообщения, чтобы это работало?

Я использую Java, JMS, Spring и WebShere MQ v7.1 в Linux.Любая дополнительная информация будет предоставлена ​​по запросу.

1 Ответ

3 голосов
/ 01 марта 2012

См. Раздел в поле MQMD.Report.Да, вам нужно установить поля для ответа, чтобы подтверждение могло вернуться к вам.Однако вам также нужно сообщить WMQ, что вы хотите, чтобы он генерировал отчетное сообщение.Для того, что вы хотите, установите в поле MQRO_COA_WITH_FULL_DATA.

...