Mit dem JMSInput-Knoten können Sie Nachrichten von JMS-Zieladressen empfangen. Der Zugriff auf JMS-Zieladressen erfolgt über eine Verbindung zu einem JMS-Provider.
Der JMSInput-Knoten agiert als JMS-Nachrichtenkonsument und kann alle sechs Nachrichtentypen empfangen, die in der Java Message Service Specification, Version 1.1 definiert sind. Nachrichten werden mithilfe von Methodenaufrufen empfangen, die in der JMS-Spezifikation beschrieben sind.
Der JMSInput-Knoten befindet sich im Ablagefach JMS der Palette und wird in der Workbench durch folgendes Symbol dargestellt:
Der JMSInput-Knoten empfängt Nachrichten mit einer JMS-Nachrichtenbaumstruktur und gibt diese weiter. Sie können die Eigenschaften des JMSInput-Knotens festlegen, um die Methode zum Empfangen der JMS-Nachrichten zu steuern.
Nachrichtenflüsse, die Nachrichten handhaben, die von Verbindungen mit JMS-Providern empfangen werden, müssen immer mit einem JMSInput-Knoten beginnen. Sie können jeden der unterstützten Sendeknoten (einschließlich benutzerdefinierter Sendeknoten) in einen Nachrichtenfluss aufnehmen, der mit einem JMSInput-Knoten beginnt; es muss sich hierbei nicht um einen JMSOutput-Knoten handeln. Wenn Sie jedoch keinen JMSOutput-Knoten einschließen, müssen Sie den JMSMQTransform-Knoten 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 JMSInput-Knotens als ersten Knoten nehmen, um ein Eingangsterminal für den untergeordneten Fluss zu erstellen.
export MQSI_LIBPATH32=$MQSI_LIBPATH32:/usr/mqm/lib:/usr/mqm/java/lib
Konfigurierbare Services sind für eine Reihe von JMS-Providern definiert. Sie können einen der vordefinierten Services auswählen oder einen neuen Service für einen neuen Provider oder einen vorhandenen Provider erstellen.
mqsireportproperties Brokername -c AllTypes -o AllReportableEntityNames -r
Mit dem Befehl mqsireportproperties können Sie die Providereigenschaften anzeigen. Mit dem Befehl mqsichangeproperties können Sie die Eigenschaften festlegen oder modifizieren.
Jede erfolgreich empfangene Nachricht wird vom JMSInput-Knoten an das Ausgangsterminal weitergeleitet. Schlägt die Weiterleitung fehl, wird die Nachricht erneut weitergeleitet. Falls der Schwellenwert für die Wiederholung an dem Punkt erreicht wird, an dem der Schwellenwert durch die Eigenschaft Rücksetzschwellenwert 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 eine Ausnahmebedingung im Fehlerpfad auftritt, wird der Pfad so lange wiederholt, bis die Anzahl der Versuche den Wert Rücksetzschwellenwert um das Zweifache übersteigt. Wenn dieser Grenzwert überschritten wird, wird die Nachricht an das Rücksetzziel übergeben.
Wenn Sie keine Knoten mit dem Fehlerterminal verbunden haben, wird die Nachricht in das Rücksetzziel geschrieben. Wurde kein Rücksetzziel angegeben, gibt der Knoten die Fehlernachricht BIP4669 aus und stoppt die Verarbeitung weiterer eingehender Nachrichten.
Wenn die Nachricht vom JMSInput-Knoten abgefangen wird, nachdem eine Ausnahmebedingung an einer anderen Stelle im Fluss generiert wurde, wird die Nachricht an das Catch-Terminal weitergeleitet. Wenn keine Knoten mit dem Catch-Terminal verbunden wurden, setzt der Knoten die Nachricht für eine erneute Zustellung so lange zurück, bis das Problem behoben ist oder der Rücksetzschwellenwert erreicht wird. Wird kein Rücksetzziel definiert, gibt der Knoten die Fehlernachricht BIP4669 aus und stoppt die Verarbeitung weiterer eingehender Nachrichten.
Wenn Sie einen JMSInput-Knoten in einen Nachrichtenfluss einschließen, definiert der Wert, den Sie für den Transaktionsmodus festgelegt haben, ob die Nachrichten unter der Synchronisationspunktsteuerung empfangen werden.
Installationsverzeichnis/bin/ JMSSwitch.dll XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter ThreadOfControl=THREAD
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:
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
Weitere Informationen finden Sie im Bereich System Administration Guide des WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ.
Um denselben Warteschlangenmanager sowohl für den Broker als auch für den JMS-Provider verwenden zu können, muss sichergestellt werden, dass die WebSphere MQ-Installation mindestens auf folgendem Stand ist: Version 5.3 CSD12 oder Version 6.0 Fixpack 1.
Um denselben WS-Manager sowohl für den Broker als auch den JMS-Provider zu verwenden, müssen Sie sicherstellen, dass Ihre WebSphere MQ-Installation mindestens auf folgendem Stand ist: WebSphere MQ Version 6.0 Fixpack 1 oder höher ist erforderlich für XA, damit der gleiche WS-Manager für den Broker und den Provider verwendet wird.
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.
Nachdem Sie eine Instanz des JMSInput-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Knoteneigenschaften werden in der Eigenschaftenansicht 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 verbindlichen Eigenschaften, für die kein Standardwert definiert ist, sind mit einem Stern markiert.
Terminal | Beschreibung |
---|---|
Fehlerterminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn ein Fehler auftritt. Selbst wenn die Eigenschaft 'Auswerten' festgelegt wird, werden Nachrichten, die an dieses Terminal weitergegeben werden, nicht ausgewertet. |
Ausgabeterminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie erfolgreich abgerufen wird. |
Catch-Terminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn eine Ausnahmebedingung generiert und von diesem Knoten abgefangen wird. |
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).
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Knotentyp JMSInput | 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 |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Quellenwarteschlange | Nein | Nein | Ausgewählt | Der Name der Warteschlange, aus der der Knoten eingehende Nachrichten empfängt. Wenn der Knoten Daten aus einer Warteschlange lesen soll (Punkt-zu-Punkt), wählen Sie Quellenwarteschlange aus, und geben Sie den Namen der Quellenwarteschlange ein. Hierbei handelt es sich um die in der JMS-Bindungsdatei aufgeführte JMS-Warteschlange. Diese Eigenschaft und die Eigenschaft Subskriptionsthema schließen sich gegenseitig aus. |
Subskriptionsthema | Nein | Nein | Nicht ausgewählt | Der Name des Themas, das vom Knoten subskribiert wurde. Wenn der Knoten Lesevorgänge für ein Subskriptionsthema durchführen soll (Publish/Subscribe), wählen Sie Subskriptionsthema aus, und geben Sie den Namen des Subskriptionsthemas ein.
|
ID der permanenten Subskription | Nein | Nein | Die ID eines Themas einer permanenten Subskription. Geben Sie eine ID der permanenten Subskription ein, wenn der Knoten Veröffentlichungen zu einem permanenten Subskriptionsthema empfangen soll.
|
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Ausgangskontext-Factory | Ja | Ja | com.sun.jndi.fscontext. RefFSContextFactory | Der Ausgangspunkt für einen JNDI-Namespace.
Geben Sie einen Wert für die Ausgangskontext-Factory ein. Eine JMS-Anwendung verwendet den Ausgangskontext, um die verwalteten JNDI-Attribute für den JMS-Provider abzurufen und zu suchen. Der Standardwert lautet com.sun.jndi.fscontext.RefFSContextFactory. Mit diesem Wert wird die dateibasierte Ausgangskontext-Factory für den JMS-Provider von WebSphere MQ definiert. Informationen zum Namen der Ausgangskontext-Factory für den JMS-Provider finden Sie in der Dokumentation des JMS-Providers. |
Wo die JNDI-Bindungen liegen | Ja | Ja | Der Systempfad oder die LDAP-Position für die Bindungsdatei. Die Bindungsdatei enthält Definitionen für die verwalteten JNDI-Objekte, die vom JMSInput-Knoten verwendet werden. Wenn Sie einen Wert für Wo die JNDI-Bindungen liegen eingeben, sind dabei folgende Anweisungen einzuhalten:
Informationen zum Erstellen der Bindungsdatei für verwaltete JNDI-Objekte finden Sie in der Dokumentation des JMS-Providers. |
|
Verbindungsfactory-Name | Ja | Ja | Der Name der Verbindungsfactory, der vom JMSInput-Knoten für die Erstellung einer Verbindung zum JMS-Provider verwendet wird. Dieser Name muss in der Bindungsdatei bereits vorhanden sein. | |
Rücksetzziel | Nein | Ja | Wenn der Nachrichtenfluss aufgrund von Fehlern die Nachricht nicht verarbeiten kann, werden Eingabenachrichten vom JMSInput-Knoten an diese Zieladresse gesendet, und die Nachricht muss aus dem Eingabeziel entfernt werden. Der Name des Rücksetzungsziels muss in der Bindungsdatei enthalten sein. | |
Rücksetzschwellenwert | Nein | Ja | 0 | Der Wert, über den gesteuert wird, wann eine erneut zugestellte Nachricht in das Rücksetzziel gestellt wird. Wenn der Wert beispielsweise 3 lautet, versucht der JMS-Provider drei Mal, die Nachricht an die Eingabezieladresse zuzustellen. Nach dem dritten Zustellungsversuch wird die Nachricht aus der Eingabezieladresse entfernt und an das Rücksetzziel gesendet. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Nachrichtendomäne | Nein | Nein | Die Domäne für die Syntaxanalyse der eingehenden Nachricht.
Ist für die Nachrichtendomäne kein Wert angegeben, kann der JMSInput-Knoten die Nachrichtendomäne auf eine der beiden folgenden Arten bestimmen:
Der Abschnitt Ausführungspriorität zur Ableitung der Nachrichtendomäne enthält weitere
Informationen hierzu.
|
|
Nachrichtengruppe | Nein | Nein | Der Name oder die ID der Nachrichtengruppe, in der die eingehende Nachricht definiert ist. Wenn Sie den MRM- oder IDOC-Parser verwenden, wählen Sie die gewünschte Nachrichtengruppe aus. Diese Liste wird mit den verfügbaren Nachrichtengruppen gefüllt, wenn Sie MRM oder IDOC als Nachrichtendomäne auswählen. Lassen Sie das Feld Nachrichtengruppe leer, wenn Sie Parser vom Typ XML, XMLNS, XMLNSC, JMS, MIME und BLOB verwenden. |
|
Nachrichtentyp | Nein | Nein | Der Name der eingehenden Nachricht. Wählen Sie bei Verwendung des MRM-Parsers in der Liste unter Nachrichtentyp die gewünschte Nachricht aus. In dieser Liste werden die Nachrichten aufgeführt, die in der ausgewählten Nachrichtengruppe definiert sind. Geben Sie für XML-, XMLNS-, XMLNSC-, JMS-, MIME-, BLOB- und IDOC-Parser unter Nachrichtentyp keinen Wert ein. |
|
Nachrichtenformat | Nein | Nein | Der Name des physischen Formats der eingehenden Nachricht. Wenn Sie den Parser MRM oder IDOC verwenden, wählen Sie aus der Liste unter Nachrichtenformat das gewünschte Format aus. Diese Liste enthält alle physischen Formate, die Sie für diese Nachrichtengruppe definiert haben. Lassen Sie das Feld Nachrichtenformat bei Parsern vom Typ XML, XMLNS, XMLNSC, JMS, MIME und BLOB leer. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Zeitpunkt für Syntaxanalyse | Nein | Nein | Bei Bedarf | Durch diese Eigenschaft wird gesteuert, zu welchem Zeitpunkt eine Eingabenachricht syntaktisch analysiert wird. Gültige Werte sind:
Die Option Zeitpunkt für Syntaxanalyse ist
standardmäßig auf den Wert Bei Bedarf
gesetzt. In diesem Fall wird die
Auswertung verzögert, bis im Rahmen einer Teil-Syntaxanalyse eine Syntaxanalyse der Nachricht
erfolgt.
|
XMLNSC-Kompaktparser für XMLNS-Domäne verwenden | Nein | Nein | Nicht ausgewählt | Durch diese Eigenschaft wird gesteuert, ob der XMLNSC-Kompaktparser für Nachrichten in der XMLNS-Domäne verwendet wird. Bei Festlegung dieser Eigenschaft erscheinen die Nachrichtendaten in Knoten, die mit dem Ausgabeterminal verbunden sind, unter XMLNSC, wenn XMLNS die Nachrichtendomäne des MQRFH2-Eingabeheaders oder der Eigenschaften der Syntaxanalyse der Eingabenachricht ist. |
Zugriff auf gemischten Inhalt | Nein | Nein | Nicht ausgewählt | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er gemischten Text in einer Eingabenachricht feststellt. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für gemischten Text erstellt. Andernfalls wird gemischter Text ignoriert, und es werden keine Elemente erstellt. |
Kommentare beibehalten | Nein | Nein | Nicht ausgewählt | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Kommentare in einer Eingabenachricht feststellt. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für Kommentare erstellt. Andernfalls werden Kommentare ignoriert, und es werden keine Elemente erstellt. |
Verarbeitungsanweisung beibehalten | Nein | Nein | Nicht ausgewählt | Mit dieser Eigenschaft können Sie steuern, ob der XMLNSC-Parser Elemente in der Nachrichtenbaumstruktur erstellt, wenn er Verarbeitungsanweisungen in einer Eingabenachricht feststellt. Wenn Sie das Kontrollkästchen aktivieren, werden Elemente für Verarbeitungsanweisungen erstellt. Andernfalls werden Verarbeitungsanweisungen ignoriert, und es werden keine Elemente erstellt. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Anwendungseigenschaft | Nein | Ja | Der Nachrichtenselektor, der Nachrichten gemäß dem Wert des
Anwendungsmerkmals filtert. Wenn der JMS-Provider Nachrichten auf der Grundlage der von der initiierenden JMS-Clientanwendung festgelegten Nachrichteneigenschaften filtern soll, geben Sie für die Anwendungseigenschaft einen Wert ein, durch den sowohl der Eigenschaftsname als auch die Auswahlbedingungen angegeben werden (z. B. OrderValue > 200). Geben Sie für die Anwendungseigenschaft keinen Wert ein, wenn der Empfangsknoten keine Auswahl auf der Grundlage der Anwendungseigenschaft treffen soll. Eine Beschreibung zur Erstellung des JMS-Nachrichtenselektors finden Sie unter JMS-Nachrichtenselektor. |
|
Zeitmarke | Nein | Ja | Der Nachrichtenselektor, der Nachrichten gemäß der JMS-Zeitmarke filtert. Wenn der JMS-Provider Nachricht filtern soll, die zu bestimmten Zeitpunkten generiert wurden, geben Sie für Zeitmarke einen Wert ein. Bei diesem Wert muss es sich um einen nicht näher bestimmten Java-Wert im Millisekunden handeln, z. B. 105757642321. Qualifizieren Sie den Selektor durch Operatoren, z. B. BETWEEN oder AND. Geben Sie für Zeitmarke keinen Wert an, wenn der Empfangsknoten keine Auswahl auf der Grundlage der JMS-Zeitmarke (JMSTimeStamp) treffen soll. |
|
Zustellmodus | Nein | Ja | Alle | Der Nachrichtenselektor, der Nachrichten gemäß dem
Nachrichtenübermittlungsmodus filtert. Wenn der JMS-Provider Nachrichten auf der Grundlage des JMSDeliveryMode-Headerwerts in den JMS-Nachrichten filtern soll, wählen Sie in der Liste eine Option für den Zustellmodus aus:
|
Priorität | Nein | Ja | Der Nachrichtenselektor, der Nachrichten gemäß der Nachrichtenpriorität
filtert. Wenn der JMS-Provider Nachrichten auf Basis des Headerwerts 'JMSPriority' in der JMS-Nachricht filtern soll, geben Sie für Priorität einen Wert ein. Gültige Werte für die Priorität reichen von 0 (niedrigste Priorität) bis 9 (höchste Priorität). Beispiele: Sie können 5 eingeben, um Nachrichten mit der Priorität 5 zu empfangen. Sie können den Selektor auch qualifizieren: Geben Sie beispielsweise > 4 ein, um Nachrichten mit einer höheren Priorität als 4 zu empfangen oder BETWEEN 4 AND 8, um Nachrichten mit einer Priorität im Bereich 4 bis 8 zu empfangen. Machen Sie im Feld Priorität keine Angabe, wenn der Empfangsknoten keine Auswahl auf der Grundlage der JMS-Priorität (JMSPriority) treffen soll. |
|
Nachrichten-ID | Nein | Ja | Der Nachrichtenselektor, der Nachrichten gemäß der Nachrichten-ID filtert. Wenn der JMS-Provider Nachrichten auf Basis des Headerwerts 'JMSMessageID' filtern soll, geben Sie für Nachrichten-ID einen Wert ein. Geben Sie eine bestimmte Nachrichten-ID oder einen Bedingungsselektor ein, z. B. > WMBRK123456, damit Nachrichten zurückgegeben werden, deren Nachrichten-ID größer als WMBRK123456 ist. Machen Sie im Feld Nachrichten-ID keine Angabe, wenn der Empfangsknoten keine Auswahl auf der Grundlage der JMS-Nachrichten-ID (JMSMessageID) treffen soll. |
|
Erneut zugestellt | Nein | Ja | Wenn der JMS-Provider Nachrichten auf Basis des Headerwerts 'JMSRedelivered' filtern soll, geben Sie für Erneut zugestellt einen Wert ein:
|
|
Korrelations-ID | Nein | Ja | Der Nachrichtenselektor, der Nachrichten gemäß der Korrelations-ID filtert. Wenn der JMS-Provider Nachrichten auf Basis des Headerwerts 'JMSCorrelationID' filtern soll, geben Sie für Korrelations-ID einen Wert ein. Geben Sie eine bestimmte Korrelations-ID oder eine Bedingungszeichenfolge ein. So werden beispielsweise bei Eingabe von WMBRKABCDEFG Nachrichten zurückgegeben, deren Korrelations-ID mit diesem Wert übereinstimmt. Machen Sie im Feld Korrelations-ID keine Angabe, wenn der Empfangsknoten keine Auswahl auf der Grundlage der JMS-Korrelations-ID (JMSCorrelationID) treffen soll. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Transaktionsmodus | Ja | Nein | Keine | Durch diese Eigenschaft wird gesteuert, ob die eingehende Nachricht unter
externer Synchronisationspunktsteuerung, lokaler Synchronisationspunktsteuerung oder außerhalb
eines Synchronisationspunktes empfangen wird.
|
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Auswerten | Nein | Ja | Keines | Durch diese Eigenschaft wird gesteuert, ob eine Auswertung stattfindet. Gültige Werte sind:
Wenn Sie Inhalt oder Inhalt und Wert auswählen, müssen Sie in der Liste Aktion bei Fehler eine Option auswählen. |
Fehlerbehebungsmaßnahme | 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:
|
Alle Wertvorgaben einschließen | Nein | Nein | Ausgewählt | Diese Eigenschaft kann nicht bearbeitet werden. Bei der Auswertung von Inhalt und Wert werden Basisprüfungen der Wertvorgaben durchgeführt. |
Korrektur | Nein | Nein | Keines | Diese Eigenschaft kann nicht bearbeitet werden. |