Mit dem MQOutput-Knoten können Sie Nachrichten an Clients senden, die über WebSphere MQ Enterprise Transport eine Verbindung zum Broker herstellen und die MQI- und AMI-Anwendungsprogrammierschnittstellen verwenden.
Dieses Thema ist in folgende Abschnitte eingeteilt:
Der MQOutput-Knoten übergibt eine Ausgabenachricht aus einem Nachrichtenfluss an eine WebSphere MQ-Warteschlange. Der Knoten verwendet den MQPUT-Aufruf, um die Nachricht in den von Ihnen angegebenen Zielwarteschlangen einzureihen.
Falls angebracht, definieren Sie die Warteschlange als WebSphere MQ-Clusterwarteschlange oder als gemeinsam genutzte Warteschlange. Wenn Sie eine WebSphere MQ-Clusterwarteschlange verwenden, lassen Sie Name des WS-Managers leer.
Sie können den MQOutput-Knoten so konfigurieren, dass eine Nachricht in eine bestimmte WebSphere MQ-Warteschlange gestellt wird, die in einem WS-Manager, auf den der WS-Manager des Brokers zugreifen kann, definiert ist. Nachrichten können auch an Zieladressen weitergeleitet werden, die in der lokalen Umgebung der Nachricht angegeben sind.
Legen Sie weitere Eigenschaften fest, um die Vorgehensweise beim Senden von Nachrichten zu steuern, indem geeignete MQPUT-Optionen angegeben werden; Sie können beispielsweise für eine Nachricht die Verarbeitung unter Transaktionssteuerung anfordern. Darüber hinaus können Sie angeben, dass WebSphere MQ die Nachricht im WS-Manager bei Bedarf in verschiedene Segmente teilen darf.
Wenn Sie einen Nachrichtenfluss erstellen, der als untergeordneter Nachrichtenfluss verwendet werden soll, können Sie keinen Standardsendeknoten verwenden. Verwenden Sie eine Instanz des Sende-Knotens zum Erstellen eines Ausgangsterminals für den untergeordneten Nachrichtenfluss, durch den die Nachricht weitergegeben wird.
Wenn Ihr Nachrichtenfluss keine Nachrichten an eine WebSphere MQ-Warteschlange senden soll, wählen Sie einen anderen unterstützten Sendeknoten aus.
Der MQOutput-Knoten prüft, ob es in der Nachrichtenbaumstruktur einen MQMD-Header (WebSphere MQ Message Descriptor) gibt. Ist dies nicht der Fall, erstellt der MQOutput-Knoten einen MQMD-Header in der Nachrichtenbaumstruktur und füllt ihn mit MQMD-Standardeigenschaften. Ist ein MQMD-Header vorhanden, prüft der MQOutput-Knoten, ob es sich um einen Header des Typs WebSphere MQ handelt. Ist dies nicht der Fall, wird die Eigenschaft Nachrichtenkontext auf den Standardwert gesetzt. Der MQOutput-Knoten behandelt alle anderen Transport-Header in der Nachrichtenbaumstruktur als Daten. Wenn diese Header nicht im Nachrichtenhauptteil benötigt werden, können Sie sie vor dem MQOutput-Knoten mit einem Transformation-Knoten aus der Nachrichtenbaumstruktur entfernen. Wenn die Nachrichtenbaumstruktur aus JMS abgeleitet wird, können Sie mit einem JMSMQTransform-Knoten eine mit MQ kompatible Nachrichtenbaumstruktur erstellen. Ausführliche Informationen hierzu finden Sie unter JMS-Nachrichtenkonvertierung.
Der MQOutput-Knoten ist in der WebSphere MQ-Ablage der Palette enthalten und wird im WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:
Die folgenden Beispielprogramme verdeutlichen die Verwendung dieses Knotens:
Informationen zu Beispielen können nur bei Verwendung des in das WebSphere Message Broker Toolkit integrierten bzw. online verfügbaren Information Center angezeigt werden. Muster können nur ausgeführt werden, wenn das im WebSphere Message Broker Toolkit integrierte Information Center verwendet wird.
Stellen Sie sich als Beispiel für die Verwendung dieses Knotens vor, Sie haben eine Veröffentlichungsanwendung geschrieben, die regelmäßige Bestandsaktualisierungen veröffentlicht. Die Anwendung sendet die Nachrichten an den Broker auf einem MQInput-Knoten, und der Nachrichtenfluss stellt mehreren Subskribenten die Veröffentlichungen über einen Veröffentlichung-Knoten zur Verfügung. Sie konfigurieren einen Compute-Knoten für die Erstellung einer neuen Ausgabenachricht, sobald sich der Kurs einer bestimmten Aktie ändert, und verbinden diesen Knoten mit einem MQOutput-Knoten, damit jede Kursänderung dieser Aktie aufgezeichnet wird.
WrittenDestination = (
MQ = (
z`DestinationData = (
queueName = 'OUT'
queueManagerName = 'MYQUEUEMANAGER'
replyIdentifier = X'4d...2e'
msgId = X'3c...2c'
correlId = X'2a...00'
GroupId = X'3a...00'
)
)
)
Verbinden Sie das Eingangsterminal mit dem Knoten, von dem ausgehende Nachrichten weitergeleitet werden.
Schließen Sie das Ausgabe- oder Fehlerterminal (Failure) dieses Knotens an einen anderen Knoten in diesem Nachrichtenfluss an, um die Nachricht weiterzuverarbeiten, Fehler zu behandeln oder die Nachricht an eine weitere Zieladresse zu senden.
Wenn Sie in Ihren Nachrichtenflüssen eine Aggregation verwenden, müssen Sie die Ausgabeterminals nutzen.
MQMD.Report = 0;
MQMD.PutApplType = MQAT_BROKER;
MQMD.PutDate = aktuelle Zeitmarke
MQMD.PutTime = aktuelle Zeitmarke
MQMD.PutApplName = MsgTree.MQMD.ReplyToQMgr (erste 28 Zeichen)
MQMD.Version
MQMD.Format
MQMD.Priority
MQMD.Persistence
MQMD.Expiry
MQMD.Encoding
MQMD.CodedCharSetId
MQMD.GroupId
MQMD.MsgSeqNumber
MQMD.Offset
MQMD.MsgFlags
MQMD.OriginalLength
IF MsgTree.MQMD.MsgType = MQMT_REQUEST THEN
MQMD.MsgType = MQMT_REPLY;
IF Nodes Message Context is Default, PassAll or PassIdentity THEN
MQMD.UserIdentifer = MsgTree.MQMD.UserIdentifier;
IF MsgTree.MQMD.Report contains MQRO_PASS_CORREL_ID THEN
MQMD.CorrelId = MsgTree.MQMD.CorrelId;
ELSE
MQMD.CorrelId = MsgTree.MQMD.MsgId;
IF MsgTree.MQMD.Report contains MQRO_PASS_MSG_ID THEN
MQMD.MsgId = MsgTree.MQMD.MsgId;
ELSE
MQMD.MsgId = MQMI_NONE;
Nachdem die MQMD-Ausgabestruktur aufgebaut wurde, wird der Nachrichtenkontext im MQOutput-Knoten ignoriert und das Verhalten ist wie bei Gesamten Kontext setzen.
Die Werte werden nur in der MQMD-Ausgabestruktur überschrieben; der MQMD-Ordner in der Nachrichtenbaumstruktur wird nicht aktualisiert.
Nachdem Sie eine Instanz des MQOutput-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Eigenschaften des Knotens werden in der Ansicht 'Eigenschaften' angezeigt.
In der folgenden Tabelle werden die Terminals des MQOutput-Knotens beschrieben.
Terminal | Beschreibung |
---|---|
Eingabeterminal (In) | Das Eingabeterminal, das eine Nachricht zur Verarbeitung durch einen Knoten annimmt |
Fehlerterminal (Failure) | Das Ausgabeterminal, an das die Nachricht gesendet wird, wenn ein Fehler beim Einreihen der Nachricht in die Ausgabewarteschlange festgestellt wird |
Ausgang | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie erfolgreich in die Ausgabewarteschlange eingereiht wurde. |
In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte K zeigt an, ob die Eigenschaft konfigurierbar ist (Wert kann geändert werden, wenn der Nachrichtenfluss für die Implementierung zur BAR-Datei hinzugefügt wird).
In der folgenden Tabelle werden die Beschreibungseigenschaften des MQOutput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Knotentyp, z. B. MQOutput | Der Name des Knotens. |
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens. | |
Ausführliche Beschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt |
In der folgenden Tabelle werden die grundlegenden Eigenschaften des MQOutput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Name des WS-Managers | Nein | Ja | Geben Sie den Namen des WebSphere MQ-Warteschlangenmanagers ein, für den die unter Name der Warteschlange
angegebene Ausgabewarteschlange definiert ist. Die Eigenschaft Name des WS-Managers wird nur benötigt, wenn die angegebene Warteschlange auf einem anderen Warteschlangenmanager definiert ist oder es sich um eine Clusterwarteschlange handelt. Bei einer Clusterwarteschlange kann Name des WS-Managers optional angegeben werden, wenn Sie vorschreiben möchten, welcher Warteschlangenmanager die Nachricht empfangen soll. Wenn die Warteschlange auf einem fernen Warteschlangenmanager definiert ist, muss der Name des WS-Managers angegeben werden und er muss mit der Übertragungswarteschlange übereinstimmen, die auf dem lokalen WS-Manager des Brokers für den betreffenden fernen WS-Manager definiert ist. |
queueManagerName | |
Name der Warteschlange | Nein | Ja | Wenn die Ausgabenachricht an eine einzelne Zielwarteschlange, die über diesen Knoten definiert
wird, gesendet werden soll, geben Sie den Namen der WebSphere MQ-Ausgabewarteschlange ein, an die der Nachrichtenfluss Nachrichten
sendet. Wenn Sie die Eigenschaft Zielmodus auf Warteschlangenname setzen, müssen Sie einen Wert für die Eigenschaft Warteschlangenname angeben. Wenn Sie den Zielmodus auf einen anderen Wert setzen, wird diese Eigenschaft ignoriert. |
queueName |
In der folgenden Tabelle werden die erweiterten Eigenschaften des MQOutput-Knotens beschrieben. Diese Eigenschaften definieren die transaktionsorientierte Steuerung für die Nachricht und die Art, wie die Nachricht in die Warteschlange eingereiht wird. Viele dieser Eigenschaften sind Optionen im MQPUT-Aufruf zugeordnet.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Zielmodus | Ja | Nein | Name der Warteschlange | Die Warteschlangen, an die die Ausgabenachricht gesendet wird.
|
Transaktionsmodus | Ja | Nein | Automatisch | Durch diese Eigenschaft wird gesteuert, ob die Nachricht
transaktionsorientiert eingereiht wird.
|
Persistenzmodus | Ja | Nein | Automatisch | Durch diese Eigenschaft wird gesteuert, ob die Nachricht permanent eingereiht
wird.
|
Neue Nachrichten-ID | Ja | Nein | Nicht ausgewählt | Wenn Sie dieses Kontrollkästchen aktivieren, generiert
WebSphere MQ eine neue Nachrichten-ID, die den Inhalt des Feldes
MsgId im MQMD ersetzt. Diese Eigenschaft wird der Option
MQPMO_NEW_MSG_ID des MQPMO-Aufrufs der MQI-Schnittstelle zugeordnet. Inaktivieren Sie das
Kontrollkästchen, wenn keine neue ID generiert werden soll. Es wird weiterhin eine neue
Nachrichten-ID generiert, wenn Sie die Eigenschaft Anforderung auf der
Registerkarte Anforderung auswählen. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 7 Information Center online. |
Neue Korrelations-ID | Ja | Nein | Nicht ausgewählt | Wenn Sie dieses Kontrollkästchen aktivieren, generiert
WebSphere MQ eine neue Korrelations-ID, die den Inhalt des Feldes
'CorrelId' im MQMD ersetzt.
Diese Eigenschaft wird der Option
MQPMO_NEW_CORREL_ID des MQPMO-Aufrufs der MQI-Schnittstelle zugeordnet. Inaktivieren Sie das
Kontrollkästchen, wenn keine neue ID generiert werden soll. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 7 Information Center online. |
Segmentierung zulässig | Ja | Nein | Nicht ausgewählt | Wenn Sie dieses Kontrollkästchen aktivieren, teilt
WebSphere MQ die Nachricht im WS-Manager in verschiedene Segmente auf. Inaktivieren Sie das Kontrollkästchen, wenn keine Segmentierung erfolgen soll. Weitere Informationen zur Nachrichtensegmentierung finden Sie unter Nachrichtensegmente in einer WebSphere MQ-Nachricht senden. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 7 Information Center online. |
Nachrichtenkontext | Ja | Nein | Gesamten Kontext übergeben | Durch diese Eigenschaft wird gesteuert, wie Ursprungskontext gehandhabt wird.
Wenn dem Knoten ein Sicherheitsprofil zugeordnet und dieses Sicherheitsprofil für die Ausführung der Identitätsweitergabe konfiguriert ist, kann der ausgewählte Kontext außer Kraft gesetzt werden, um sicherzustellen, dass die ausgehende Identität gesetzt ist. Weitere Informationen zu den Optionen, zu denen diese Eigenschaften Zuordnungen durchführen, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 7 Information Center online. |
Alternative Benutzerberechtigung | Ja | Nein | Nicht ausgewählt | Wenn Sie dieses Kontrollkästchen aktivieren, wird beim Einreihen der Ausgabenachricht eine alternative Berechtigung verwendet und in den Öffnungsoptionen (MQOO) der MQI-Schnittstelle wird die Option MQOO_ALTERNATE_USER_AUTHORITY festgelegt. Wenn Sie dieses Kontrollkästchen aktivieren, wird diese Option beim Öffnen der Warteschlange für die Ausgabe angegeben. Die alternativen Benutzerinformationen werden aus den Kontextinformationen in der Nachricht abgerufen. Inaktivieren Sie das Kontrollkästchen, wenn Sie keine alternative Benutzerberechtigung angeben möchten. Wenn Sie das Kontrollkästchen inaktivieren, wird beim Einreihen der Nachricht die Benutzer-ID des Broker-Service verwendet. |
In der folgenden Tabelle werden die Anforderungseigenschaften des MQOutput-Knotens beschrieben. Diese Eigenschaften definieren die Merkmale aller generierten Ausgabenachrichten.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Anforderung | Ja | Nein | Nicht ausgewählt | Bei Auswahl des Kontrollkästchens wird jede Ausgabenachricht in MQMD als Anforderungsnachricht (MQMT_REQUEST) erstellt und das Nachrichten-ID-Feld wird gelöscht und auf MQMI_NONE gesetzt, sodass WebSphere MQ eine neue ID generiert.
Inaktivieren Sie das
Kontrollkästchen, damit keine Ausgabenachricht als Anforderungsnachricht markiert wird. Sie können dieses Kontrollkästchen nicht
aktivieren, wenn Sie als Zielmodus die Option
Warteschlange für Antwortnachrichten
angegeben haben. Selbst wenn das Kontrollkästchen Neue Nachrichten-ID auf der Registerkarte Erweitert nicht aktiviert ist, wird eine neue Nachrichten-ID generiert. |
|
Ziel-WS-Manager für Antwortnachrichten | Nein | Ja | Name des WebSphere MQ-Warteschlangenmanagers, für den die unter Warteschlange für Antwortnachrichten angegebene Ausgabewarteschlange definiert ist Dieser Name wird in die MQMD-Struktur jeder Ausgabenachricht als Manager der Warteschlange für Antwortnachrichten eingefügt. | replyToQMgr | |
Warteschlange für Antwortnachrichten | Nein | Ja | Der Name der WebSphere MQ-Warteschlange, für die eine Antwort zu dieser Anforderung eingereiht wird. Dieser Name wird in die MQMD-Struktur jeder Ausgabenachricht als Warteschlange für Antwortnachrichten eingefügt. | replyToQ |
In der folgenden Tabelle werden die Auswertungseigenschaften des MQOutput-Knotens beschrieben.
Eine umfassende Beschreibung dieser Eigenschaften finden Sie unter Auswertungseigenschaften.
Eigenschaft | O | K | Standardwert | Beschreibung | Eigenschaft des Befehls mqsiapplybaroverride |
---|---|---|---|---|---|
Auswerten | Nein | Ja | Übernehmen | Durch diese Eigenschaft wird gesteuert, ob eine Auswertung stattfindet. Gültige Werte sind Keine, Inhalt und Wert, Inhalt und Übernehmen. | validateMaster |
Aktion bei Fehler | Nein | Nein | Ausnahme | Durch diese Eigenschaft wird gesteuert, was beim Fehlschlagen der Auswertung geschieht. Sie können diese Eigenschaft nur angeben, wenn Sie Auswerten auf Inhalt oder Inhalt und Wert gesetzt haben. Gültige Werte sind Benutzertrace, Lokales Fehlerprotokoll, Ausnahmebedingung und Ausnahmeliste. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Ereignisse | Nein | Nein | Ohne | Auf dieser Registerkarte werden Ereignisse angezeigt, die Sie für den Knoten
definiert haben. Standardmäßig sind für keinen Knoten in einem Nachrichtenfluss
Überwachungsereignisse definiert. Über Hinzufügen,
Bearbeiten und Löschen können Sie
Überwachungsereignisse für den Knoten erstellen, ändern oder löschen (Details siehe
Überwachungsereignisquellen mithilfe von Überwachungseigenschaften konfigurieren). Sie können hier angezeigte Ereignisse aktivieren oder inaktivieren, indem Sie das Kontrollkästchen Aktiviert aktivieren oder inaktivieren. |