Dieses Thema enthält folgende Abschnitte:
Mit dem JMSEmpfangsknoten können Sie Nachrichten von JMS-Zieladressen empfangen. Der Zugriff auf JMS-Zieladressen erfolgt über eine Verbindung zu einem JMS-Provider. Der JMSEmpfangsknoten agiert als JMS-Nachrichtenkonsument und kann alle sechs Nachrichtentypen empfangen, die in der Java Message Service Specification, Version 1.1 definiert sind. Nachrichten werden mit Hilfe von Methodenaufrufen empfangen, die in der JMS-Spezifikation beschrieben sind.
Der JMSEmpfangsknoten wird in der Workbench durch folgendes Symbol dargestellt:
Der JMSEmpfangsknoten empfängt Nachrichten mit einer JMS-Nachrichtenbaumstruktur und gibt diese weiter. Sie können die Eigenschaften des JMSEmpfangsknotens festlegen, um die Weise zu steuern, in der die JMS-Nachrichten empfangen werden.
Der JMSEmpfangsknoten bearbeitet Nachrichten in den folgenden Nachrichtendomänen:
Nachrichtenflüsse, die Nachrichten handhaben, die von Verbindungen mit JMS-Providern empfangen werden, müssen immer mit einem JMSEmpfangsknoten beginnen. Sie können jeden der unterstützten Sendeknoten (einschließlich der benutzerdefinierten Sendeknoten) in einen Nachrichtenfluss aufnehmen, der mit einem JMSEmpfangsknoten beginnt; es muss sich hierbei nicht um einen JMSSendeknoten handeln. Wenn Sie jedoch keinen JMSSendeknoten einschließen, müssen Sie den JMSMQUmsetzungsknoten einschließen, um die Nachricht in das Format umzuwandeln, das vom Sendeknoten erwartet wird.
Wenn Sie JMS-Nachrichten weitergeben und einen Nachrichtenfluss entsprechend erstellen, dass er einen untergeordneten Fluss verwendet, können Sie keinen Standardsendeknoten verwenden, sondern müssen eine Instanz des JMSEmpfangsknotens als ersten Knoten nehmen, um ein Eingangsterminal für den untergeordneten Fluss zu erstellen.
Kopieren Sie auf verteilten Plattformen die JAR-Dateien in Java und alle nativen Bibliotheken für den Client des JMS-Providers in das Brokerverzeichnis 'shared-classes'. Beispiel unter Windows: C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\IBM\MQSI\shared-classes. Dadurch wird sichergestellt, dass der Pfad der Java-Klasse für die JMS-Knoten richtig festgelegt ist.
Unter z/OS ist kein Verzeichnis 'shared-classes' vorhanden. Stattdessen müssen Sie jede Java-JAR-Datei des JMS-Providers im Klassenpfad des BIPPROF-Mitglieds der partitionierten Datei des Brokers angeben. Aktualisieren Sie anschließend LIBPATH mit beliebigen nativen Bibliotheken, und übergeben Sie den BIPGEN JCL-Job zur Aktualisierung des Brokers ENVFILE.
Wenn Sie eine Instanz des JMS-Empfangsknotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren. Klicken Sie in der Editoransicht mit der rechten Maustaste auf den Knoten, und klicken Sie auf Eigenschaften. Die grundlegenden Knoteneigenschaften werden im Eigenschaftendialog angezeigt.
Alle verbindlichen Eigenschaften, für die kein Standardwert definiert ist, sind im Eigenschaftendialog mit einem Stern markiert.
Konfigurieren Sie den JMSEmpfangsknoten wie folgt:
com.sun.jndi.fscontext.RefFSContextFactory; damit wird die dateibasierte Ausgangskontextfactory für den JMS-Provider von WebSphere MQ definiert.
Die Dokumentation des JMS-Providers enthält Informationen zum Namen der Ausgangskontext-Factory.
Wenn Sie einen Wert für die Position der JNDI-Bindungen eingeben, müssen Sie sicherstellen, dass er mit den folgenden Anweisungen kompatibel ist:
Weitere Informationen zur Erstellung der Bindungsdatei für verwaltete JNDI-Objekte finden Sie in der Dokumentation, die mit dem JMS-Provider bereitgestellt wird.
Lassen Sie die Nachrichtengruppe bei den XML-, XMLNS-, XMLNSC-, JMS-, MIME- und BLOB-Parsern leer.
Lassen Sie das Feld Nachrichtenart bei XML-, XMLNS-, XMLNSC-, JMS-, MIME-, BLOB- und IDOC-Parsern leer.
Bei XML-, XMLNS-, XMLNSC-, JMSMap-, JMSStream-, MIME- und BLOB-Parsern erfolgt für Nachrichtenformat keine Angabe.
Lassen Sie das Feld für diese Eigenschaft leer, wenn der Empfangsknoten keine Auswahl auf Basis der Anwendungseigenschaft treffen soll. Der Abschnitt JMS-Nachrichtenselektoren enthält eine Beschreibung zur Erstellung der Nachrichtenselektoren.
Lassen Sie das Feld für diese Eigenschaft leer, wenn der Empfangsknoten keine Auswahl auf Basis der JMS-Zeitmarke treffen soll.
Die gültigen Werte für die Nachrichtenpriorität liegen zwischen 0 (niedrigste Priorität) und 9 (höchste Priorität). Sie können beispielsweise 5 eingeben, um Nachrichten mit der Priorität 5 zu empfangen. Sie können auch den Selektor bestimmen; geben Sie beispielsweise > 4 ein, um Nachrichten mit einer Priorität größer als 4 zu empfangen, oder BETWEEN 4 AND 8, um Nachrichten mit eine Priorität im Bereich von 4 bis 8 zu empfangen.
Lassen Sie das Feld für diese Eigenschaft leer, wenn der Empfangsknoten keine Auswahl auf Basis der JMS-Priorität treffen soll.
Geben Sie eine bestimmte Nachrichten-ID oder einen Bedingungsselektor ein; geben Sie beispielsweise > WMBRK123456 ein, um Nachrichten zurückzugeben, deren Nachrichten-ID größer als der Wert WMBRK123456 ist.
Lassen Sie das Feld für diese Eigenschaft leer, wenn der Empfangsknoten keine Auswahl auf Basis des Headerwerts 'JMSMessageID' treffen soll.
Geben Sie FALSE ein, wenn der Empfangsknoten nur Nachrichten akzeptieren soll, die vom JMS-Provider noch nicht zugestellt wurden.
Geben Sie TRUE ein, wenn der Empfangsknoten nur Nachrichten akzeptieren soll, die vom JMS-Provider bereits zugestellt wurden.
Lassen Sie das Feld für diese Eigenschaft leer, wenn der Empfangsknoten keine Auswahl auf Basis des Headerwerts 'JMSRedelivered' treffen soll.
Geben Sie eine bestimmte Korrelations-ID oder eine Bedingungszeichenfolge ein; wenn Sie beispielsweise WMBRKABCDEFG eingeben, werden Nachrichten zurückgegeben, deren Korrelations-ID diesem Wert entspricht.
Lassen Sie das Feld für diese Eigenschaft leer, wenn der Empfangsknoten keine Auswahl auf Basis des Headerwerts 'JMSCorrelationID' treffen soll.
Sie finden detaillierte Informationen hierzu unter Nachrichten überprüfen und Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.
Wenn Sie diesen Wert zu Sofort ändern, wird das teilweise Parsing überschrieben und eine Analyse und Auswertung der gesamten Nachricht durchgeführt; davon ausgenommen sind komplexe Typen mit einem Zusammensetzungswert 'Auswahl' oder 'Nachricht', die zu diesem Zeitpunkt nicht aufgelöst werden können.
Wenn Sie diese Option in Vollständig ändern, wird die Teilsyntaxanalyse außer Kraft gesetzt. In diesem Fall werden alle Nachrichtenkomponenten syntaktisch analysiert und ausgewertet; komplexe Typen mit der Zusammensetzung 'Auswahl' oder 'Nachricht', die zu diesem Zeitpunkt nicht aufgelöst werden können, verursachen einen Auswertungsfehler.
Aktivieren Sie das Kontrollkästchen, wenn Sie den XMLNSC-Kompaktparser für XMLNS-Domäne verwenden wollen.
Für die Optionen Residenter Modus für gemischten Inhalt, Residenter Modus für Kommentare und Residenter Modus für Verarbeitungsanweisungen werden in den Dropdown-Listen die folgenden Auswahlmöglichkeiten bereitgestellt:
Klicken Sie auf Abbrechen, um das Dialogfeld zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften vorgenommen haben.
Jede erfolgreich empfangene Nachricht wird vom JMSEmpfangsknoten an das Ausgangsterminal weitergeleitet. Schlägt dieser Vorgang fehl, wird die Nachricht erneut weitergeleitet. Falls der Schwellenwert für die Wiederholung an dem Punkt erreicht wird, an dem der Schwellenwert durch das Attribut 'BackoutThreshold' des Knotens definiert ist, wird die Nachricht an das Fehlerterminal weitergeleitet.
Sie können das Fehlerterminal mit Knoten verbinden, um diese Bedingung zu handhaben. Wenn Sie keine Knoten mit dem Fehlerterminal verbunden haben, wird die Nachricht in das Rücksetzziel geschrieben. Falls kein Rücksetzziel angegeben wurde, wird eine Fehlernachricht ausgegeben, und der Knoten beendet die Verarbeitung weiterer Eingaben. Die Fehlernachricht lautet bip4669.
Wenn nach Ausgabe einer Ausnahmebedingung an einer anderen Stelle im Fluss die Nachricht vom JMSEmpfangsknoten abgefangen wird, wird sie an das Abfangterminal weitergeleitet. Wenn keine Knoten mit dem Catch-Terminal verbunden wurden, setzt der Knoten die Nachricht für eine erneute Zustellung solange zurück, bis das Problem behoben ist oder der Schwellenwert für die Zurücksetzung erreicht wurde.
Sie müssen ein Rücksetzziel definieren. Wenn Sie kein Rücksetzziel definieren, gibt der Knoten die Fehlernachricht bip4669 aus und stoppt die Verarbeitung von eingehenden Nachrichten.
Wenn Sie einen JMSEmpfangsknoten in einen Nachrichtenfluss einschließen, definiert der Wert, den Sie für den Transaktionsmodus festgelegt haben, ob die Nachrichten unter Synchronisationspunktsteuerung empfangen werden.
Der JMS-Provider kann zusätzliche JAR-Dateien bereitstellen, die zur Transaktionsunterstützung erforderlich sind. Lesen Sie hierzu die Dokumentation des JMS-Providers. Auf verteilten Plattformen (keine z/OS-Plattformen) stellt der JMS-Provider von WebSphere MQ die zusätzliche JAR-Datei com.ibm,mqetclient.jar zur Verfügung. Diese JAR-Datei muss auch zum Verzeichnis 'shared_classes' des Brokers hinzugefügt werden. Weitere Informationen finden Sie in diesem Abschnitt unter Client des JMS-Providers für JMS-Knoten verfügbar machen.
Installationsverzeichnis/bin/ JMSSwitch.dll XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter ThreadOfControl=THREAD
XAResourceManager: Name=Name_des_JMS-Providers SwitchFile=/Installationsverzeichnis/bin/ JMSSwitch.so XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter ThreadOfControl=THREADDabei gilt:
Der 'Name des JMS-Providers' ist ein bei der Installation definierter Name, der einen Ressourcenmanager des JMS-Providers identifiziert.
'SwitchFile' ist der Dateisystempfad zur JMSSwitch-Bibliothek, der im Brokerverzeichnis bin angegeben wird.
Die optionalen Parameter werden durch Kommas getrennt und sind positionsgebunden. Aus diesem Grund müssen fehlende Parameter durch ein Komma dargestellt werden.
Installationsverzeichnis/classes/xarecovery.jar
Installationsverzeichnis/bin
XA kann bis WebSphere MQ Version 5.3, CSD12 und WebSphere MQ Version 6 Fixpack 1 nicht den gleichen WS-Manager für den Broker und den Provider verwenden.
Die Synchronisationspunktsteuerung für den JMS-Provider wird mit der RRS-Synchronisationspunkt-Koordination des WS-Manager des Brokers verwaltet. Die Datei .ini muss nicht geändert werden.
In der nachfolgenden Tabelle werden die Terminals des JMSEmpfangsknotens beschrieben.
Terminal | Beschreibung |
---|---|
Fehlerterminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn ein Fehler auftritt. Auch wenn die Eigenschaft 'Auswertung' angegeben ist, werden an dieses Terminal weitergegebene Nachrichten nicht ausgewertet. |
Out | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie erfolgreich von der WebSphere MQ-Warteschlange abgerufen wird. |
Abfangterminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn nachgeschaltet eine Ausnahmebedingung ausgegeben und von diesem Knoten abgefangen wurde. |
In der nachfolgenden Tabelle werden die Knoteneigenschaften beschrieben. Die Spalte M zeigt an, ob die Eigenschaft obligatorisch ist (markiert mit einem Sternchen im Eigenschaftendialog, ob Sie einen Wert eingeben müssen, wenn kein Standardwert definiert ist). Die Spalte C zeigt an, ob die Eigenschaft konfigurierbar ist (Sie können den Wert ändern, wenn Sie der BAR-Datei den Nachrichtenfluss hinzufügen, um ihn einzusetzen).
In der nachfolgenden Tabelle werden die Basiseigenschaften des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Ausgangskontext-Factory | Ja | com.sun.jndi.fscontext.RefFSContextFactory | Dies ist der Ausgangspunkt für einen JNDI-Namensbereich. Eine JMS-Anwendung verwendet den Ausgangskontext, um die Verbindungsfactory sowie Warteschlangen oder Themenobjekte für den JMS-Provider abzurufen und zu suchen. Der Standardwert entspricht dem Wert, der verwendet wird, wenn WebSphere MQ Java als JMS-Provider eingesetzt wird. |
|
Position der JNDI-Bindungen | Ja | Der Systempfad oder die LDAP-Position für die Bindungsdatei. | ||
Name der Verbindungsfactory | Ja | Der Name der Verbindungsfactory, der vom JMSEmpfangsknoten für die Erstellung einer Verbindung zum JMS-Provider verwendet wird. | ||
Rücksetzziel | Nein | Diese Zieladresse wird vom JMSEmpfangsknoten verwendet, wenn eine Nachricht auf Grund von Fehlern nicht vom Nachrichtenfluss verarbeitet werden kann. | ||
Rücksetzschwellenwert | Nein | 0 | Der Wert, über den gesteuert wird, wann eine erneut zugestellte Nachricht in das Rücksetzziel gestellt wird. |
In der nachfolgenden Tabelle werden die Standardeigenschaften des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Nachrichtendomäne | Nein | Nein | Die Domäne, die für die Syntaxanalyse der ankommenden Nachricht verwendet wird. | |
Nachrichtengruppe | Nein | Nein | Der Name oder die ID der Nachrichtengruppe, in der die ankommende Nachricht definiert ist. | |
Nachrichtenart | Nein | Nein | Der Name der ankommenden Nachricht. | |
Nachrichtenformat | Nein | Nein | Der Name des physischen Formats der ankommenden Nachricht. |
In der nachfolgenden Tabelle werden die Publish/Subscribe-Eigenschaften des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Subskriptionsthema | Nein | Nein | Der Name des Themas, das vom Knoten subskribiert wurde. | |
Permanente Subskriptions-ID | Nein | Nein | Die ID eines Themas einer permanenten Subskription. |
In der nachfolgenden Tabelle werden die Punkt-zu-Punkt-Eigenschaften des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Quellenwarteschlange | Der Name der Warteschlange, aus der der Knoten eingehende Nachrichten empfängt. |
In der nachfolgenden Tabelle werden die Nachrichtenselektor-Eigenschaften des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Anwendungseigenschaft | Nein | Nachrichtenselektor, der Nachrichten gemäß dem Wert des Anwendungsmerkmals filtern wird. | ||
Zeitmarke | Nein | Nachrichtenselektor, der Nachrichten gemäß der JMS-Zeitmarke filtern wird. | ||
Zustellmodus | Nein | Nachrichtenselektor, der Nachrichten gemäß dem Nachrichtenübermittlungsmodus filtern wird. | ||
Priorität | Nein | Nachrichtenselektor, der Nachrichten gemäß der Nachrichtenpriorität filtern wird. | ||
Nachrichten-ID | Nein | Nachrichtenselektor, der Nachrichten gemäß der Nachrichten-ID filtern wird. | ||
Korrelations-ID | Nein | Nachrichtenselektor, der Nachrichten gemäß der Korrelations-ID filtern wird. |
In der nachfolgenden Tabelle werden die erweiterten Eigenschaften des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Transaktionsmodus | Ja | Nein | keine | Diese Eigenschaft gibt an, ob die ankommende Nachricht unter externer Synchronisationspunktsteuerung, lokaler Synchronisationspunktsteuerung oder außerhalb eines Synchronisationspunkts empfangen wird. Gültige Werte sind keine, lokal und global. |
In der nachfolgenden Tabelle werden die Auswertungseigenschaften des JMSEmpfangsknotens beschrieben.
Der Abschnitt Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne enthält eine ausführliche Beschreibung dieser Eigenschaften.Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Auswerten | Ja | Ja | Keine | Durch diese Eigenschaft wird angegeben, ob eine Auswertung stattfindet. Gültige Werte sind Keine,Inhalt und Inhalt und Wert. |
Aktion bei Fehler | Ja | Nein | Ausnahme | Durch diese Eigenschaft wird angegeben, was beim Fehlschlagen der Auswertung geschieht. Diese Eigenschaft kann nur festgelegt werden, wenn Auswerten auf Inhalt oder Inhalt und Wert gesetzt wird. Gültige Werte sind Benutzertrace, Lokales Fehlerprotokoll, Ausnahmebedingung und Ausnahmeliste. |
Alle Wertvorgaben einschließen | Ja | Nein | Ausgewählt | Diese Eigenschaft kann nicht bearbeitet werden. Die Standardaktion (ausgewähltes Markierungsfeld) besteht darin, dass in der Auswertung von Inhalt und Wert auch Basisprüfungen der Wertvorgaben ausgeführt werden. |
Korrektur | Ja | Nein | Keine | Diese Eigenschaft kann nicht bearbeitet werden. |
In der nachfolgenden Tabelle werden die Eigenschaften der allgemeinen Nachrichtenoptionen des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Zeitpunkt für Syntaxanalyse | Ja | Nein | Bei Bedarf | Durch diese Eigenschaft wird gesteuert, zu welchem Zeitpunkt eine Eingabenachricht syntaktisch analysiert wird.
Gültige Werte sind Bei Bedarf, Sofort und Vollständig. Der Abschnitt Bedarfsgerechte Syntaxanalyse enthält eine ausführliche Beschreibung dieser Eigenschaft. |
In der nachfolgenden Tabelle werden die Eigenschaften der XMLNSC-Parseroptionen für den JMSEmpfangsknoten beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
XMLNSC-Kompaktparser für XMLNS-Domäne verwenden | Ja | Nicht ausgewählt | Nein | ![]() ![]() |
Residenter Modus für gemischten Inhalt | Ja | Nein | Keine | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er gemischten Text in einer Eingabenachricht feststellt. Gültige Werte sind Keine und Alle. Bei der Auswahl von Alle werden für gemischten Text Elemente erstellt. Bei der Auswahl von Keine wird gemischter Text ignoriert, und es werden keine Elemente erstellt. |
Residenter Modus für Kommentare | Ja | Nein | Keine | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Kommentare in einer Eingabenachricht feststellt. Gültige Werte sind Keine und Alle. Bei der Auswahl von Alle werden für Kommentare Elemente erstellt. Bei der Auswahl von Keine werden Kommentare ignoriert, und es werden keine Elemente erstellt. |
Residenter Modus für Verarbeitungsanweisungen | Ja | Nein | Keine | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Verarbeitungsanweisungen in einer Eingabenachricht feststellt. Gültige Werte sind Keine und Alle. Bei der Auswahl von Alle werden für Verarbeitungsanweisungen Elemente erstellt. Bei der Auswahl von Keine werden Verarbeitungsanweisungen ignoriert, und es werden keine Elemente erstellt. |
In der nachfolgenden Tabelle werden die Beschreibungseigenschaften des JMSEmpfangsknotens beschrieben.
Eigenschaft | M | C | Standardwert | Beschreibung |
---|---|---|---|---|
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens | |
Ausführliche Beschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt. |