Das Beispielprogramm 'Coordinated Request Reply' erweitern

Wenn die ReplyToQ- und ReplyToQmgr-Werte der ursprünglichen Anforderungsnachricht in einer WebSphere MQ-Nachricht für eine spätere Abfrage gespeichert werden, wird dabei die ganze MQMD der Anforderungsnachricht gespeichert und nicht nur die ReplyToQ- und ReplyToQMgr-Details. Der Grund dafür liegt darin, dass es nötig ist, die drei Werte ReplyToQ, ReplyToQmgr und CorrelID der Anforderungsnachricht zu speichern und abzurufen, während es beim MQAbrufknoten nur möglich ist, einen einzigen Wert zu speichern und abzurufen. Aufgrund dieses Verhaltens des MQAbrufknotens muss statt der einzelnen Werte die Struktur gespeichert werden, die die erforderlichen Werte enthält. Wenn Änderungen am Beispielprogramm vorgenommen werden, um verschiedene Werte zu speichern, müssen Sie sich das Verhalten des MQAbrufknotens merken.

Das Beispielprogramm 'Coordinated Request Reply' ist so aufgebaut, dass verschiedene Implementierungen der untergeordneten Nachrichtenflüsse verwendet werden können, die in den Anforderungs- und Antwortnachrichtenflüssen verwendet werden, anstelle der im Beispielprogramm zur Verfügung gestellten Implementierungen. Eine andere Möglichkeit der Implementierung besteht darin, eine Datenbank zum Speichern von ReplyToQ und ReplyToQmgr der ersten Anforderungsnachricht zu verwenden. Als Möglichkeit zur Leistungsverbesserung wird diese Methode jedoch nicht empfohlen. Als Alternative dazu können die untergeordneten Nachrichtenflüsse, die zum Speichern und Abrufen von ReplyToQ, ReplyToQmgr und CorrelID der Anforderungsnachricht in einer WebSphere MQ-Nachricht verwendet werden, in anderen Nachrichtenflüssen verwendet werden.

Den untergeordneter Nachrichtenfluss 'StoreOriginalMQMD_Sub' wiederverwenden

Der untergeordnete Nachrichtenfluss 'StoreOriginalMQMD_Sub' kann leicht in anderen Nachrichtenflüssen verwendet werden, um dieselbe Funktion zum Speichern der MQMD der Anforderungsnachricht in einer WebSphere MQ-Nachricht auszuführen. Dazu muss der untergeordnete Nachrichtenfluss an der entsprechenden Stelle in dem Nachrichtenfluss aufgenommen werden, in dem er verwendet werden soll. Es ist möglich, den untergeordneten Nachrichtenfluss ohne Änderungen aufzunehmen, dies kann jedoch zu potentiellen Problemen führen.

Obwohl die Schlüsselparameter, die möglicherweise geändert werden müssen, oben angegeben wurden, wird empfohlen, alle Parametereinstellungen auf Knoten innerhalb des untergeordneten Nachrichtenflusses zu überprüfen, um sicherzustellen, dass diese mit Ihren Erfordernissen kompatibel sind.

Eine alternative Implementierung des untergeordneten Nachrichtenflusses 'StoreOriginalMQMD_Sub' verwenden

Es gibt mehrere Möglichkeiten, wie Sie den untergeordneten Nachrichtenfluss ändern können, um eine alternative Speichermöglichkeit für die Daten zu verwenden. Eine Alternative wäre beispielsweise, eine Datenbank zu verwenden. Anstatt eine WebSphere MQ-Nachricht zu schreiben, müsste der untergeordnete Nachrichtenfluss Daten in eine Datenbank einfügen.

Beachten Sie, dass mit der Änderung der Speichermöglichkeit die Leistungsmerkmale des untergeordneten Nachrichtenflusses geändert werden. Es ist wichtig sicherzustellen, dass die Merkmale der von Ihnen ausgewählten Implementierung mit den Leistungsanforderungen für den Nachrichtenfluss übereinstimmen. Die Verwendung einer Datenbank zum Speichern von Informationen führt dazu, dass der Nachrichtenfluss im Verarbeitungsprozess eher E/A-gebunden ist, da es für jeden Eintrag in die Datenbank ein Eintrag in das Datenbankmanagerprotokoll erforderlich ist.

Durch die Verwendung einer alternativen Speichermöglichkeit können auch die transaktionalen Eigenschaften des untergeordneten Nachrichtenflusses geändert werden. Wenn Daten mit Hilfe einer WebSphere MQ-Nachricht gespeichert werden, verwendet diese denselben Ressourcenmanager wie die WebSphere MQ-Nachrichten, die woanders im Nachrichtenfluss gelesen werden. Wenn WebSphere MQ-Nachrichten im Nachrichtenfluss nur verarbeitet werden, ist nur ein einzelner Ressourcenmanager involviert. Bei der Verwendung einer Datenbank oder eines anderen wiederherstellbaren Ressourcenmanagers ist es nötig, ein Wiederherstellungsprotokoll für eine zweiphasige Festschreibung zwischen dem Nachrichtenbroker-WS-Manager und dem Datenbankmanager der Datenbank, in der Daten gespeichert werden, zu verwenden, um die Datenintegrität sicherzustellen.

Wenn Sie Änderungen durchführen, wird empfohlen, alle Parametereinstellungen auf Knoten innerhalb des untergeordneten Nachrichtenflusses zu überprüfen, um sicherzustellen, dass diese mit Ihren Erfordernissen kompatibel sind.

Den untergeordneten Nachrichtenfluss 'RestoreOriginalMQMD_Sub' wiederverwenden

Der untergeordnete Nachrichtenfluss 'RestoreOriginalMQMD_Sub' kann leicht in anderen Nachrichtenflüssen verwendet werden, um dieselbe Funktion zum Abrufen der MQMD der ersten Anforderungsnachricht von einer WebSphere MQ-Nachricht auszuführen. Dazu muss der untergeordnete Nachrichtenfluss an der entsprechenden Stelle in dem Nachrichtenfluss aufgenommen werden, in dem er verwendet werden soll. Es ist möglich, den untergeordneten Nachrichtenfluss ohne Änderungen miteinzuschließen, was jedoch zu Problemen führen kann:

Obwohl die Schlüsselparameter, die möglicherweise geändert werden müssen, oben angegeben wurden, wird empfohlen, alle Parametereinstellungen auf Knoten innerhalb des untergeordneten Nachrichtenflusses zu überprüfen, um sicherzustellen, dass diese mit Ihren Erfordernissen kompatibel sind.

Eine alternative Implementierung des untergeordneten Nachrichtenflusses 'RestoreOriginalMQMD_Sub' verwenden

Es gibt mehrere Möglichkeiten, wie Sie den untergeordneten Nachrichtenfluss ändern können, um eine alternative Speichermöglichkeit für die Daten zu verwenden. Eine Alternative wäre beispielsweise, eine Datenbank zu verwenden. Anstatt den MQAbrufknoten zum Lesen einer WebSphere MQ-Nachricht zu verwenden, kann der untergeordnete Nachrichtenfluss Daten von einer Datenbank lesen.

Beachten Sie, dass mit der Änderung der Speichermöglichkeit die Leistungsmerkmale des untergeordneten Nachrichtenflusses geändert werden. Es ist wichtig sicherzustellen, dass die Merkmale der von Ihnen ausgewählten Implementierung mit den Leistungsanforderungen für den Nachrichtenfluss übereinstimmen. Durch die Verwendung einer Datenbank zum Speichern der Informationen kann abhängig von der Implementierung ein anderer Aufwand hinzugefügt werden. Wenn Daten mit Hilfe eines Lesevorgangs abgerufen und nicht aktualisiert oder gelöscht werden, ist der Aufwand für eine Datenbankimplementierung am geringsten. Wenn Daten jedoch nicht von der Datenbank gelöscht werden, wird die Datenbank immer größer und langsamer in der Verwendung, solange keine Verwaltung eingerichtet wird. Wenn beim Abrufprozess eine Zeile aktualisiert oder gelöscht werden muss, um zu zeigen, dass die Daten abgerufen wurden, impliziert dies, dass in das Datenbankmanagerprotokoll geschrieben wird, wodurch ein bedeutend größerer Verarbeitungsaufwand entsteht als beim schreibgeschützten Vorgang.

Durch die Verwendung einer alternativen Speichermöglichkeit können auch die transaktionalen Eigenschaften des untergeordneten Nachrichtenflusses geändert werden. Wenn Daten mit Hilfe einer WebSphere MQ-Nachricht gespeichert werden, verwendet diese denselben Ressourcenmanager wie die WebSphere MQ-Nachrichten, die woanders im Nachrichtenfluss gelesen werden. Wenn WebSphere MQ-Nachrichten im Nachrichtenfluss nur verarbeitet werden, ist nur ein einzelner Ressourcenmanager involviert. Bei der Verwendung einer Datenbank oder eines anderen wiederherstellbaren Ressourcenmanagers ist es nötig, ein Wiederherstellungsprotokoll für eine zweiphasige Festschreibung zwischen dem Nachrichtenbroker-WS-Manager und dem Datenbankmanager der Datenbank, in der Daten gespeichert werden, zu verwenden, um die Datenintegrität sicherzustellen.

Wenn Sie Änderungen durchführen, wird empfohlen, alle Parametereinstellungen auf Knoten innerhalb des untergeordneten Nachrichtenflusses zu überprüfen, um sicherzustellen, dass diese mit Ihren Erfordernissen kompatibel sind.

Symbol Hauptseite   Zurück zur Beispiel-Homepage