2016-05-18 7 views
0

Ich verwende Spring Jms, um JMS-Nachrichten an Websphere Mq mit dem Zielclient als 1 im Ziel-Resolver zu senden. Dies führt jedoch dazu, dass alle benutzerdefinierten Header, die ich auf die JMS-Nachricht gesetzt habe, gelöscht werden. Wenn ich den Zielclient auf 0 setze, funktioniert es perfekt, aber ich muss es aus irgendeinem anderen Grund bei 1 belassen. Kann jemand erklären, was hier passiert und eine mögliche Lösung? Vielen Dank.Verwenden von Zielclient 1 Ursache Jms-Header löschen

Antwort

1

In MQ JMS-Header sind als Eigenschaften in einem MQ RFH2-Header auf der Nachricht implementiert. Wenn Sie einen Zielclient von WMQ_TARGET_DEST_MQ (1) angeben, weisen Sie den MQ JMS-Client an, den RFH2-Header zu entfernen. Was in Ihrem Fall bedeutet, dass Sie Ihre benutzerdefinierten Header verlieren. Wenn Sie also WMQ_TARGET_DEST_MQ festlegen, verzichten Sie im Wesentlichen auf diese Funktion.

Sie müssen entweder WMQ_TARGET_DEST_JMS (0) verwenden, von dem Sie wissen, dass es funktioniert, oder eine andere Möglichkeit finden, die Daten in Ihren benutzerdefinierten Headern an die empfangende Anwendung zu übergeben.

Eine Option, wenn Sie mit WMQ_TARGET_DEST_MQ fortfahren möchten, besteht darin, Ihre benutzerdefinierten Header in den Nachrichtentext als Name/Wert-Paare aufzunehmen - Sie müssen nur sicherstellen, dass die empfangende Anwendung es verstehen kann.

+0

Glaubst du, es ist möglich, einen String-Header-Wert zum Ordner "usr" hinzufügen, indem Sie WMQ_TARGET_DEST_MQ ?? – Sudheera