2012-04-15 18 views
1

Ich verwende Websphere MQ als Eingabe und Ausgabe innerhalb eines Broker Application Flow. Der Flow enthält auch Websphere Transformation Extender Maps.Wie protokolliere ich Antworten auf Nachrichten in WebSphere MQ?

Ich möchte Java verwenden, um eine Nachricht mit einem eindeutigen Bezeichner in der Eingabewarteschlange zu senden und eine Antwort auf die Ausgabewarteschlange zu erhalten. Ich sollte die Nachricht aus der Ausgabewarteschlange mit dieser eindeutigen Kennung auswählen können.

Wie kann ich das tun?

+0

Reaktion: http://stackoverflow.com/questions/10162457/how-do-i-track-reples-to-messages-on-websphere-mq/10168548#10168548 – Shashi

Antwort

4

Der einfache Weg, dies zu tun, ist die CorrelationID zu verwenden.

Die Anwendung, die Anforderungen verarbeitet, muss die MessageID in die CorrelationID der Antwortnachricht kopieren, wenn sie antwortet. Die Anfordereranwendung gibt die CorrelationID als Nachrichtenselektor beim Empfangen von Nachrichten an und stellt die MessageID der Anforderungsnachricht als Wert für den Selektor bereit.

Wenn Sie planen, JMS zu verwenden, wird es viel einfacher. Verwenden Sie die JMSMessageID und JMSCorrelationID Eigenschaften und schaffen einen Verbraucher mit JMSCorrelationID als Selektor

QueueReceiver queueReceiver = session.createReceiver (destination "JMSCorrelationID = '+ requestMsg.JMSMessageID +"' ");

+0

vielen Dank – user1282545