Mit dem MQInput-Knoten können Sie Nachrichten von Clients empfangen, 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 MQInput-Knoten empfängt eine Nachricht von einer WebSphere MQ-Nachrichtenwarteschlange, die beim Warteschlangenmanager des Brokers definiert wurde. Der Knoten liest mit MQGET eine Nachricht aus einer angegebenen Warteschlange und baut die Verarbeitungsumgebung für die Nachricht auf. Falls passend, können Sie die Eingabewarteschlange als eine WebSphere MQ-Clusterwarteschlange oder als gemeinsam genutzte Warteschlange definieren.
Nachrichtenflüsse, die Nachrichten über WebSphere MQ-Verbindungen bearbeiten, müssen immer mit einem MQInput-Knoten starten. Sie können die Eigenschaften des MQInput-Knotens so festlegen, dass sie die Art und Weise des Empfangs von Nachrichten steuern, indem sie dafür sorgen, dass geeignete MQGET-Optionen eingestellt werden. Beispiel: Sie können angeben, dass eine Nachricht unter Transaktionssteuerung verarbeitet wird. Sie können ebenfalls bestimmen, dass beim Empfang von jeder Eingabenachricht eine Datenkonvertierung durchgeführt wird.
Sie können jeden der unterstützten Sendeknoten, einschließlich der benutzerdefinierten Sendeknoten, in einen Nachrichtenfluss aufnehmen, der mit einem MQInput-Knoten beginnt; es ist nicht erforderlich, einen MQOutput-Knoten aufzunehmen. Sie können einen Nachrichtenfluss erstellen, der Nachrichten von WebSphere MQ-Clients empfängt und für Clients generiert, die für die Verbindung mit dem Broker eines der unterstützten Transportprotokolle verwenden. Dies ist möglich, weil Sie den Nachrichtenfluss so konfigurieren können, dass er beim Broker die erforderliche Konvertierung anfordert.
Wenn Sie einen Nachrichtenfluss erstellen, der als untergeordneter Nachrichtenfluss implementiert werden soll, können Sie keinen Standardempfangsknoten verwenden. Sie müssen einen Input-Knoten als ersten Knoten verwenden, um ein Eingangsterminal für den untergeordneten Nachrichtenfluss zu erstellen.
Wenn Ihr Nachrichtenfluss keine Nachrichten über WebSphere MQ-Verbindungen empfängt, können Sie einen der unterstützten Empfangsknoten auswählen.
Der MQInput-Knoten ist in der WebSphere MQ-Ablage der Palette enthalten und wird in der Workbench durch folgendes Symbol dargestellt:
Sie können Beispiele nur anzeigen, wenn Sie das Information Center verwenden, das im Message Brokers Toolkit integriert ist.
Der MQInput-Knoten leitet jede Nachricht, die er erfolgreich empfängt, an das Ausgangsterminal weiter. Schlägt die Weiterleitung fehl, wird die Nachricht erneut weitergeleitet. Wenn der Rücksetzungszähler überschritten wird (festgelegt durch das Attribut 'BackoutThreshold' der Eingabewarteschlange), wird die Nachricht an das Fehlerterminal weitergeleitet. Sie können Knoten mit diesem Terminal verbinden, um diese Situation zu handhaben. Wenn keine Verbindung zum Fehlerterminal besteht, wird die Nachricht in die Rücksetzungswarteschlange geschrieben.
Wenn die Nachricht von diesem Knoten abgefangen wird, nachdem eine Ausnahmebedingung weiter vorne im Nachrichtenfluss ausgelöst wurde, wird die Nachricht an das Catch-Terminal weitergeleitet. Wenn keine Verbindung zum Catch-Terminal besteht, durchläuft die Nachricht den Knoten kontinuierlich in einer Schleife, bis das Problem behoben ist.
Sie müssen eine Rücksetzungswarteschlange oder eine Warteschlange für nicht zustellbare Nachrichten (DLQ) definieren, um die kontinuierliche Schleife der Nachricht im Knoten zu vermeiden.
Die MQGET-Puffergröße wird vom Broker intern implementiert und kann nicht geändert werden. Die folgende Beschreibung dient nur zur Information. Sie sollten sich beim Entwickeln Ihrer Nachrichtenflüsse nicht darauf verlassen, da sich die interne Implementierung ändern könnte.
Bei der Initialisierung des MQInput-Knotens wird die Größe des Standardpuffers für den ersten MQGET-Aufruf auf 4 KB gesetzt. Die Größe der Nachrichten wird vom MQInput-Knoten überwacht und der Puffer vergrößert oder verkleinert:
Wenn z. B. die erste im Knoten eingehende Nachricht 20 MB beträgt und die folgenden zehn Nachrichten jeweils 14 MB betragen, wird die Puffergröße von 4 KB auf 20 MB angehoben und bleibt für diese zehn Nachrichten auf diesem Wert. Nach der zehnten Nachricht aber wird die Größe des Puffers auf 14 MB reduziert.
Nachdem Sie einen MQInput-Knoten in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren (siehe Nachrichtenflussknoten konfigurieren). Die Eigenschaften des Knotens werden in der Ansicht 'Eigenschaften' angezeigt. Klicken Sie zum Anzeigen der Knoteneigenschaften im Eigenschaftendialog entweder doppelt auf den Knoten, oder klicken Sie mit der rechten Maustaste und anschließend auf Eigenschaften. Alle obligatorischen Eigenschaften, für die kein Standardwert definiert ist, sind mit einem Sternchen gekennzeichnet.
In der folgenden Tabelle werden die Terminals des MQInput-Knotens beschrieben.
Terminal | Beschreibung |
---|---|
Fehlerterminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn ein Fehler auftritt. Selbst wenn die Eigenschaft 'Auswerten' festgelegt wird, werden Nachrichten, die an dieses Terminal weitergegeben wurden, nicht ausgewertet.) |
Ausgabeterminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn sie erfolgreich von der WebSphere MQ-Warteschlange abgerufen wurde. |
Catch-Terminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn nachgeschaltet eine Ausnahmebedingung ausgegeben und von diesem Knoten abgefangen 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 zur BAR-Datei hinzugefügt wird, um ihn einzusetzen).
In der folgenden Tabelle werden die Beschreibungseigenschaften des MQInput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Knotentyp MQInput | 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 MQInput-Knotens beschrieben.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Warteschlangenname | Ja | Ja | Der Name der WebSphere MQ-Eingabewarteschlange, aus der dieser Knoten (unter Verwendung von MQGET) Nachrichten zur Verarbeitung durch diesen Nachrichtenfluss abruft. Sie müssen diese WebSphere MQ-Warteschlange für den Warteschlangenmanager vordefinieren, auf dem sich der Broker befindet, für den der Nachrichtenfluss implementiert wird. |
In der folgenden Tabelle werden die erweiterten Eigenschaften des MQInput-Knotens beschrieben. Legen Sie diese Eigenschaften für die Vorgehensweise bei der Verarbeitung der Nachricht, z. B. ihre Transaktionsmerkmale, fest. Viele dieser Eigenschaften sind Optionen im MQGET-Aufruf zugeordnet.
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Transaktionsmodus | Ja | Nein | Ja | Durch diese Eigenschaft wird gesteuert, ob die eingehende Nachricht unter
Synchronisationspunktsteuerung empfangen wird. Gültige Werte sind Automatisch, Ja und Nein.
|
Modus für Reihenfolge | Ja | Nein | Standardwert | Gibt die Reihenfolge an, in der Nachrichten aus der Eingabewarteschlange abgerufen und verarbeitet werden. Gültige Werte sind Standardwert, Nach Benutzer-ID und Nach WS-Reihenfolge. Diese Eigenschaft wirkt sich nur aus, wenn die Eigenschaft
Zusätzliche Instanzen auf der Registerkarte Instanzen auf einen Wert größer als null gesetzt ist; d. h., wenn die Eingabewarteschlange von mehreren Threads gelesen wird. Gültige Werte sind:
|
Logische Reihenfolge | Ja | Nein | Ausgewählt | Wenn Sie dieses Kontrollkästchen aktivieren, werden Nachrichten gemäß der Definition vonWebSphere MQ in logischer Reihenfolge empfangen. Diese Option wird
der Option MQGMO_LOGICAL_ORDER des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet. Wenn Sie dieses Kontrollkästchen inaktivieren, werden Nachrichten, die als Teil einer Gruppe gesendet werden, nicht in einer vorgegebenen Reihenfolge empfangen. Wenn ein Broker den Empfang von Nachrichten in Gruppen erwartet und dieses Kontrollkästchen nicht aktiviert ist, ist entweder die Reihenfolge der Eingabenachrichten nicht von Bedeutung, oder der Nachrichtenfluss muss so entwickelt werden, dass diese auf eine geeignete Weise verarbeitet werden. Sie müssen auch Festschreiben nach Nachrichtengruppe auswählen, wenn die Nachrichtenverarbeitung erst nach dem Empfang der letzten Nachricht einer Gruppe und deren Verarbeitung festgeschrieben 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 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ.
|
Alle Nachrichten verfügbar | Ja | Nein | Nicht ausgewählt | Aktivieren Sie Alle Nachrichten verfügbar,
wenn der Nachrichtenabruf und die Nachrichtenverarbeitung nur erfolgen sollen, wenn alle
Nachrichten in einer einzigen Gruppe verfügbar sind. Diese Eigenschaft wird der Option
MQGMO_ALL_MSGS_AVAILABLE des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet. Heben Sie die Auswahl
dieses Kontrollkästchens auf, wenn die Nachrichtenabfrage nicht davon abhängt, dass alle
Nachrichten in einer Gruppe verfügbar sind, bevor die Verarbeitung beginnt. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ. |
Nachrichten-ID vergleichen | Nein | Nein | Eine Nachrichten-ID muss der Nachrichten-ID im MQMD der eingehenden Nachricht entsprechen. Geben Sie eine Nachrichten-ID ein, wenn der Empfangsknoten nur Nachrichten empfangen soll, die einen passenden Nachrichten-ID-Wert im MsgId-Feld des MQMD enthalten. Geben Sie eine gerade Zahl bestehend aus hexadezimalen Ziffern (die Zeichen 0 bis 9, A bis F und a bis f sind gültig) ein. Es sind maximal 48 Ziffern zulässig. Wenn die von Ihnen eingegebene übereinstimmende Nachrichten-ID kürzer als die Länge des Feldes 'MsgId' ist, wird Übereinstimmende Nachrichten-ID nach rechts mit X'00'-Zeichen aufgefüllt. Diese Eigenschaft wird der Option MQMO_MATCH_MSG_ID des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet. Lassen Sie diese Eigenschaft leer, wenn der Empfangsknoten nicht prüfen soll, ob die Nachrichten-ID passt. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ. |
|
Korrelations-ID vergleichen | Nein | Nein | Eine Korrelations-ID muss der Korrelations-ID im MQMD der eingehenden Nachricht entsprechen. Geben Sie eine Nachrichten-ID ein, wenn der Empfangsknoten nur Nachrichten empfangen soll, die einen passenden Korrelations-ID-Wert im CorrelId-Feld des MQMD enthalten. Geben Sie eine gerade Zahl bestehend aus hexadezimalen Ziffern (die Zeichen 0 bis 9, A bis F und a bis f sind gültig) ein. Es sind maximal 48 Ziffern zulässig. Wenn die von Ihnen eingegebene ID kürzer als die Größe des CorrelId-Feldes ist, wird sie rechts mit X'00' Zeichen aufgefüllt. Diese Eigenschaft wird der Option MQMO_MATCH_CORREL_ID des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet. Lassen Sie diese Eigenschaft leer, wenn der Empfangsknoten nicht prüfen soll, ob die CorrelID passt. Weitere Informationen zu den Optionen, zu denen diese Eigenschaft eine Zuordnung durchführt, finden Sie im Abschnitt Application Programming Reference im WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ. |
|
Konvertieren | Ja | Nein | Nicht ausgewählt | Wenn Sie das Kontrollkästchen aktivieren, konvertiert
WebSphere MQ Daten in der zu empfangenden Nachricht in Übereinstimmung
mit den Werten, die im MQMD für 'CodedCharSetId' und 'Encoding' festgelegt wurden. Aktivieren Sie Konvertieren, wenn
WebSphere MQ für die Nachricht bei deren Abruf aus der Warteschlange
eine Datenkonvertierung durchführen soll. Diese Option ist nützlich, wenn Sie Nachrichten in der
BLOB-Domäne verarbeiten oder benutzerdefinierte Parser verwenden. Wählen Sie diese Option jedoch
nicht aus, wenn Sie Nachrichten der XML- oder MRM-Domäne analysieren möchten. Die Konvertierung
wird nämlich vom Parser ausführt. WebSphere MQ konvertiert die eingehende Nachricht in die Codierung und den codierten Zeichensatz, die im MQMD angegeben sind, der vom Empfangsknoten beim MQGET-Aufruf zum Abrufen der Nachricht aus der Eingabewarteschlange bereitgestellt wird. Der Broker verwendet die Option MQGMO_CONVERT für den MQGET-Aufruf. Es gelten die üblichen Regeln der WebSphere MQ-Konvertierung. Die Werte, die Sie in den Optionen Codierung bei Konvertierung und ID von codiertem Zeichensatz bei Konvertierung festlegen, werden in den Feldern MsgDesc Encoding und CCSID des MQGET-Aufrufs verwendet. WebSphere MQ kann die eingehende Nachricht nur dann konvertieren, wenn das MQMD-Feld Format ein integrierter WebSphere MQ-Wert ist, der Zeichendaten erkennt, oder wenn es in WebSphere MQ einen Datenkonvertierungsexit gibt. Diese Eigenschaft wird der Option MQGMO_CONVERT des MQGMO-Aufrufs der MQI-Schnittstelle zugeordnet. Inaktivieren Sie das Kontrollkästchen, wenn die Nachricht nicht von WebSphere MQ konvertiert werden soll. Wenn Sie dieses Kontrollkästchen aktivieren, können Sie auch Folgendes angeben:
Weitere Informationen zur WebSphere MQ-Datenkonvertierung und zu Gründen für die Verwendung dieser Option finden Sie im Abschnitt Application Programming Guide im WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ. Weitere Informationen über die Werte, die für Codierung bei Konvertierung und ID von codiertem Zeichensatz bei Konvertierung angegeben werden können, erhalten Sie im Abschnitt Application Programming Reference des WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ. |
Codierungskonvertierung | Nein | Nein | Die Darstellung, die für numerische Werte in den Nachrichtendaten verwendet wird (ausgedrückt als ganzzahliger Wert). Diese Eigenschaft ist nur gültig, wenn Sie Konvertieren aktiviert haben. | |
CCSID-Konvertierung | Nein | Nein | Die ID des codierten Zeichensatzes, die für die Zeichendaten in den Nachrichtendaten verwendet wird (ausgedrückt als ganzzahliger Wert). Diese Eigenschaft ist nur gültig, wenn Sie Konvertieren aktiviert haben. | |
Festschreibung nach Nachrichtengruppe | Ja | Nein | Nicht ausgewählt | Durch diese Eigenschaft wird gesteuert, wann eine Transaktion bei der
Verarbeitung von Nachrichten, die Teil einer Nachrichtengruppe sind, festgeschrieben wird. Wenn Sie
das Kontrollkästchen aktivieren, wird die Transaktion festgeschrieben, nachdem die
Nachrichtengruppe verarbeitet wurde. Wenn Sie dieses
Kontrollkästchen nicht aktivieren, wird nach jeder vollständigen Übergabe einer Nachricht im
Nachrichtenfluss eine Festschreibung vorgenommen. Diese Eigenschaft ist nur von Bedeutung, wenn Sie Logische Reihenfolge ausgewählt haben. Setzen Sie die Eigenschaft Modus für Reihenfolge auf Nach WS-Reihenfolge, wenn die Nachrichten in einer Gruppe in der Reihenfolge abgerufen und verarbeitet werden müssen, in der sie in der Warteschlange angezeigt werden. |
z/OS-Serialisierungs-Token | Nein | Nein | Nur unter z/OS: Benutzerdefiniertes Token für eine serialisierte Anwendungsunterstützung. Der
angegebene Wert muss den Regeln für gültige ConnTags in der MQCNO-Struktur von
WebSphere MQ entsprechen. Geben Sie ein
Serialisierungs-Token ein, wenn der serialisierte Zugriff auf gemeinsam genutzte Ressourcen, die
von WebSphere MQ bereitgestellt werden, genutzt werden soll. Der Wert, den Sie für das Serialisierungs-Token angeben, muss den Regeln entsprechen, die im Abschnitt Application Programming Reference im WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ beschrieben sind. Weitere Informationen zur Serialisierung und gemeinsamen Warteschlangennutzung bei z/OS erhalten Sie im Abschnitt Concepts and Planning Guide des WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ. |
|
Thema | Nein | Ja | Standardthema der Eingabenachricht Sie können über diese Eigenschaft einer
Nachricht ein Publish/Subscribe-Thema zuordnen. Im Namen des Themas können alle Zeichen eingegeben werden. Wenn Nachrichten den MQInput-Knoten durchlaufen, übernehmen sie jeden von Ihnen eingegebenen Themennamen. (Bei Verwendung von Publish/Subscribe können Sie ein Thema abonnieren und alle Nachrichten anzeigen, die den MQInput-Knoten unter diesem Themanamen durchlaufen haben.) Wenn die eingehende
Nachricht einen MQRFH2-Header enthält, müssen Sie keinen Wert für die Eigenschaft
Thema festlegen, weil der Wert aus dem Ordner
<psc> im MQRFH2-Header abgerufen werden kann, z. B.: <psc><Thema>Börsennotierung</Thema></psc>Wenn Sie für die Eigenschaft Thema einen Wert festlegen und dieser vom <Thema>-Wert im MQRFH2-Header abweicht, hat der Wert im MQRFH2-Header Vorrang. |