JMSEmpfangsknoten

Dieses Thema enthält folgende Abschnitte:

Zweck

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:

Symbol für JMSEmpfangsknoten

Den JMSEmpfangsknoten in einem Nachrichtenfluss verwenden

Das Beispiel Beispielprogramm 'JMS Nodes' enthält einen Nachrichtenfluss, in dem der JMSEmpfangsknoten verwendet wird. Dieses Beispiels demonstriert die Verwendung des JMSEmpfangsknotens.

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:

  • BLOB
  • XML
  • XMLNS
  • XMLNSC
  • MRM
  • JMSMap
  • JMSStream
  • MIME
  • IDOC

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.

Einschränkung: Für die Verwendung des JMSEmpfangsknotens zum Empfang von Veröffentlichungsthemen gibt es derzeit eine Einschränkung. Der Knoten beschränkt die Nachrichtenflusseigenschaft Zusätzliche Instanzen auf NULL, um den Empfang von doppelten Veröffentlichungen zu verhindern.

Client des JMS-Providers für JMS-Knoten verfügbar machen

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.

JMSEmpfangsknoten konfigurieren

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:

  1. Wählen Sie Grundeinstellung im Navigator des Eigenschaftendialogs, und machen Sie alle Angaben für folgende Eigenschaften:
    • 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 ist

      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.

    • Geben Sie einen Wert für die Position der JNDI-Bindungen ein. Dieser Wert gibt entweder den Dateisystempfad oder die LDAP-Adresse für die Bindungsdatei an. Die Bindungsdatei enthält Definitionen für die verwalteten JNDI-Objekte, die vom JMSEmpfangsknoten verwendet werden.

      Wenn Sie einen Wert für die Position der JNDI-Bindungen eingeben, müssen Sie sicherstellen, dass er mit den folgenden Anweisungen kompatibel ist:

      • Erstellen Sie die Bindungsdatei vor der Implementierung eines Nachrichtenflusses, der einen JMSEmpfangsknoten enthält.
      • Geben Sie in diesem Feld nicht den Dateinamen der Bindungsdatei ein.
      • Wenn Sie eine LDAP-Adresse angegeben haben, für die eine Authentifizierung erforderlich ist, müssen Sie sowohl den LDAP-Principal (Benutzer-ID) als auch die LDAP-Berechtigungsnachweise (Kennwort) separat konfigurieren. Diese Werte werden auf Brokerebene konfiguriert. Die Befehle mqsicreatebroker und mqsichangebroker enthalten Informationen zur Konfiguration dieser Werte.
      • Der Zeichenfolgewert sollte eines der folgenden führenden Schlüsselwörter als Vorzeichen enthalten: file:/ , iiop:/ oder ldap:/.

      Weitere Informationen zur Erstellung der Bindungsdatei für verwaltete JNDI-Objekte finden Sie in der Dokumentation, die mit dem JMS-Provider bereitgestellt wird.

    • Geben Sie den Namen der Verbindungsfactory ein. Der Name der Verbindungsfactory wird vom JMSEmpfangsknoten für die Erstellung einer Verbindung zum JMS-Provider verwendet. Dieser Name muss in der Bindungsdatei bereits vorhanden sein.
    • Geben Sie für das Rücksetzziel einen Namen ein. Wenn der Nachrichtenfluss auf Grund von Fehlern die Nachricht nicht verarbeiten kann, werden Eingabenachrichten an diese Zieladresse gesendet, und die Nachricht muss aus dem Eingabeziel entfernt werden. Der Name des Rücksetzungsziels muss in der Bindungsdatei enthalten sein.
    • Geben Sie für den Rücksetzschwellenwert einen Wert ein. Durch diesen Wert wird festgelegt, wann eine Eingabenachricht an das Rücksetzziel übergeben wird. Wenn der Wert beispielsweise 3 lautet, versucht der JMS-Provider drei Mal, die Nachricht an die Eingabezieladresse zuzustellen. Nach der dritten versuchten Zustellung wird die Nachricht aus der Eingabezieladresse entfernt und an das Rücksetzziel gesendet. Der Standardwert lautet 0.
  2. Wählen Sie im Eigenschaftendialognavigator Standardwert aus, geben Sie Werte für die Eigenschaften an, welche die Nachrichtendomäne, die Nachrichtengruppe, den Nachrichtentyp und das Nachrichtenformat beschreiben.
    • Wählen Sie unter Nachrichtendomäne aus der Dropdown-Liste den Namen des von Ihnen verwendeten Parsers aus. Sie können einen der folgenden Namen auswählen:
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • MIME
      • BLOB
      • IDOC
      Wenn das Feld Nachrichtendomäne leer bleibt, bestimmt der JMSEmpfangsknoten die Domäne auf eine der beiden Arten:
      • Er prüft, ob im Wert des JMSType-Headers der JMS-Eingabenachricht Daten vorhanden sind.
      • Auf Grundlage der Java-Klasse der JMS-Nachricht.
      Weitere Informationen über die Ausführungspriorität zur Bestimmung der Nachrichtendomäne finden Sie unter Ausführungspriorität zur Ableitung der Nachrichtendomäne.
    • Wenn Sie den MRM- oder IDOC-Parser verwenden, wählen Sie die korrekte Nachrichtengruppe aus der Dropdown-Liste in Nachrichtengruppe. Diese Liste wird mit verfügbaren Nachrichtengruppen aufgefüllt, wenn Sie MRM oder IDOC als Domäne auswählen.

      Lassen Sie die Nachrichtengruppe bei den XML-, XMLNS-, XMLNSC-, JMS-, MIME- und BLOB-Parsern leer.

    • Wenn Sie den MRM-Parser verwenden, wählen Sie aus der Dropdown-Liste unter Nachrichtenart die entsprechende Nachrichtenart aus. Diese Liste wird mit Nachrichten aufgefüllt, die in der von Ihnen ausgewählten Nachrichtengruppe definiert sind.

      Lassen Sie das Feld Nachrichtenart bei XML-, XMLNS-, XMLNSC-, JMS-, MIME-, BLOB- und IDOC-Parsern leer.

    • Wenn Sie den MRM- oder IDOC-Parser verwenden, wählen Sie aus der Dropdown-Liste unter Nachrichtenformat das entsprechende Format der Nachricht aus. Diese Liste enthält alle physischen Formate, die Sie für diese Nachrichtengruppe definiert haben.

      Bei XML-, XMLNS-, XMLNSC-, JMSMap-, JMSStream-, MIME- und BLOB-Parsern erfolgt für Nachrichtenformat keine Angabe.

  3. Wenn der JMSEmpfangsknoten für die Subskription eines Themas verwendet werden soll, wählen Sie im Navigator des Eigenschaftendialogs Pub/Sub aus.
    • Geben Sie den Namen für das Subskriptionsthema ein.
      • Wenn diese Eigenschaft konfiguriert ist, wird der Knoten nur in der Publish/Subscribe-Nachrichtendomäne ausgeführt.
      • Diese Eigenschaft und die Eigenschaft Quellenwarteschlange im Abschnitt mit den Punkt-zu-Punkt-Eigenschaften schließen sich gegenseitig aus.
      • Der Name des Subskriptionsthemas muss den Standards des JMS-Providers entsprechen, der vom Knoten verwendet wird.

    • Wenn der Knoten Veröffentlichungen zu einem permanenten Subskriptionsthema empfängt, geben Sie eine ID der permanenten Subskription ein.
      • Beim Entfernen einer permanenten Subskription handelt es sich um eine separate Verwaltungstask. Die Dokumentation des JMS-Providers enthält Informationen zum Entfernen einer permanenten Subskription.
      • Diese Eigenschaft ist nur gültig, wenn die Zeichenfolge Subskriptionsthema angegeben wurde.
  4. Wenn der JMSEmpfangsknoten für den Empfang von Punkt-zu-Punkt-Nachrichten verwendet werden soll, wählen Sie im Navigator des Eigenschaftendialogs Punkt-zu-Punkt aus.
    • Geben Sie den Namen der Quellenwarteschlange ein; dabei ist die Quellenwarteschlange die JMS-Warteschlange, die in der JMS-Bindungsdatei aufgeführt wird.
  5. Wenn das Filtern von Nachrichten erforderlich ist, wählen Sie im Navigator des Eigenschaftendialogs Nachrichtenselektoren aus.
    • Wenn der JMS-Provider Nachrichten basierend auf den von der initiierenden JMS-Clientanwendung festgelegten Nachrichteneigenschaften filtern soll, geben Sie für die Anwendungseigenschaft einen Wert ein, durch den der Eigenschaftenname und die Auswahlbedingungen angegeben werden (z. B. OrderValue > 200).

      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.

    • 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. Bestimmen Sie den Selektor mit Operatoren wie beispielsweise BETWEEN oder AND.

      Lassen Sie das Feld für diese Eigenschaft leer, wenn der Empfangsknoten keine Auswahl auf Basis der JMS-Zeitmarke treffen soll.

    • Wenn der JMS-Provider Nachrichten auf Basis des JMSDeliveryMode-Headerwerts in den JMS-Nachrichten filtern soll, wählen Sie aus der Dropdown-Liste eine Option für den Zustellungsmodus aus. Folgende Optionen stehen zur Auswahl:
      • Nicht persistent, wenn nur Nachrichten empfangen werden sollen, die von der initiierenden JMS-Clientanwendung als nicht persistent markiert wurden. Dies ist die Standardoption.
      • Persistent, wenn nur Nachrichten empfangen werden sollen, die von der initiierenden JMS-Clientanwendung als persistent markiert wurden.
    • 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.

      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.

    • 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; 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.

    • Wenn der JMS-Provider Nachrichten auf Basis des Headerwerts 'JMSRedelivered' filtern soll, geben Sie für Erneut zugestellt einen Wert ein.

      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.

    • 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; 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.

  6. Wählen Sie im Navigator des Eigenschaftendialogs Erweitert aus.
    • Wählen Sie aus der Dropdown-Liste Transaktionsmodus aus, um die transaktionalen Merkmale für die Handhabung dieser Nachricht zu definieren. Sie können eine der folgenden Optionen auswählen:
      • Wählen Sie Keine aus, wenn die ankommende Nachricht als nicht persistent behandelt werden soll. Wenn Sie diesen Wert auswählen, wird die Nachricht mit Hilfe einer JMS-Sitzung ohne Transaktionsunterstützung empfangen, die mit Hilfe des Attributs Session.AUTO_ACKNOWLEDGE erstellt wird.
      • Wählen Sie lokal aus, wenn der JMSEmpfangsknoten die Festschreibung oder die Rücksetzung der vom Knoten empfangenen JMS-Nachrichten zusammen mit anderen Ressourcen (z. B. DB2 oder WebSphere MQ), die die Arbeit im Nachrichtenfluss ausführen, koordinieren soll. Wenn Sie diesen Wert auswählen, verwendet der Knoten eine JMS-Sitzung mit Transaktionsunterstützung.
      • Wählen Sie global aus, wenn der JMSEmpfangsknoten an einer globalen Nachrichtenflusstransaktion teilnehmen soll, die vom externen Synchronisationspunkt-Koordinator des Brokers verwaltet wird. Beim Synchronisationspunkt-Koordinator handelt es sich auf verteilten Plattformen um den WS-Manager des Brokers und unter z/OS um RRS (Resource Recovery Services). Wenn Sie diesen Wert auswählen, werden alle Nachrichten, die vom Knoten empfangen werden, mit Hilfe einer XA JMS-Sitzung global koordiniert.
  7. Wählen Sie im Navigator des Eigenschaftendialogs Auswertung aus, um die Knoteneigenschaften festzulegen, die sich auf die Gültigkeitsprüfung von Eingabenachrichten beziehen.
    • Wählen Sie aus der Dropdown-Liste Auswerten eine Option aus. Die folgenden Optionen stehen zur Verfügung:
      • Keine
      • Inhalt und Wert
      • Inhalt
      Wenn Sie Inhalt oder Inhalt und Wert auswählen, müssen Sie aus der Dropdown-Liste Aktion bei Fehler eine Option auswählen. Die folgenden Optionen stehen zur Verfügung:
      • Benutzertrace
      • Lokales Fehlerprotokoll
      • Ausnahmebedingung (Standardwert)
      • Ausnahmeliste

    Sie finden detaillierte Informationen hierzu unter Nachrichten überprüfen und Eigenschaften der Gültigkeitsprüfung für Nachrichten in der MRM-Domäne.

  8. Wählen Sie im Navigator des Eigenschaftendialogs 'Allgemeine Nachrichtenoptionen' aus. Für den Standardwert für Zeitpunkt für Syntaxanalyse wird Bei Bedarf festgelegt. Dadurch wird die Auswertung verzögert, bis die Nachricht als Teilanalyse syntaktisch analysiert wird.

    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.

  9. Wählen Sie im Navigator des Eigenschaftendialogs XMLNSC-Parseroptionen aus.

    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:

    • Keine
    • Alle
  10. Wählen Sie im Eigenschaftendialognavigator Beschreibung aus, um eine Kurzbeschreibung, eine ausführliche Beschreibung oder beides einzugeben.
  11. Klicken Sie auf Übernehmen, um die Änderungen am JMSEmpfangsknoten vorzunehmen, ohne das Dialogfeld mit den Eigenschaften zu schließen. Klicken Sie auf OK, um die Änderungen zu übernehmen und das Dialogfeld mit den Eigenschaften zu schließen.

    Klicken Sie auf Abbrechen, um das Dialogfeld zu schließen und alle Änderungen zu verwerfen, die Sie an den Eigenschaften vorgenommen haben.

Verbindungen zu Terminals herstellen

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.

Koordinierte Transaktionen konfigurieren

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.

  • Ist der Wert global, wird die Nachricht unter der externen Synchronisationspunktsteuerung empfangen, d. h. in einer WebSphere MQ-Arbeitseinheit. Alle Nachrichten, die nacheinander von einem Sendeknoten in derselben Instanz des Nachrichtenflusses gesendet wurden, werden unter Synchronisationspunktsteuerung gestellt, ausgenommen, der Sendeknoten hat dies explizit überschrieben.
  • Der Wert lokal bewirkt, dass die Nachricht unter der lokalen Synchronisationspunktsteuerung des JMSEmpfangsknotens empfangen wird. Alle Nachrichten, die nacheinander von einem Sendeknoten im Nachrichtenfluss gesendet wurden, werden nicht unter die lokale Synchronisationspunktsteuerung (syncpoint-Bedingung) gestellt, es sei denn, ein einzelner Sendeknoten hat dies angegeben.
  • Der Wert Keine bewirkt, dass die Nachricht nicht unter Synchronisationspunktsteuerung empfangen wird. Jede abgeleitete Nachricht, die nachfolgend von einem Sendeknoten im Nachrichtenfluss gesendet wird, wird nicht unter dem Synchronisationspunkt eingereiht, es sei denn, ein einzelner Sendeknoten hat angegeben, dass die Nachricht unter dem Synchronisationspunkt eingereiht werden muss.

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.

Für den Empfang von Nachrichten unter einem externen Synchronisationspunkt sind zusätzliche Konfigurationsschritte erforderlich. Diese Schritte gelten nur für die erste Implementierung eines JMSSende- oder JMSEmpfangsknoten auf dem Broker für einen bestimmten JMS-Provider:
  • Auf verteilten Plattformen wird als externer Synchronisationspunkt-Koordinator für den Broker WebSphere MQ verwendet. Vor der Implementierung eines Nachrichtenflusses, bei dem die Transaktionskoordination auf global gesetzt ist, müssen Sie die .ini-Datei des WS-Managers so ändern, dass darin für jeden Ressourcenmanager des JMS-Providers, der an global koordinierten Transaktionen mitwirkt, zusätzliche Definitionen enthalten sind.
    • Wenn Sie unter Windows arbeiten und WebSphere MQ Version 5 installiert ist, starten Sie die WebSphere MQ-Services, und klicken Sie mit der rechten Maustaste auf den Namen des WS-Managers. Wählen Sie Eigenschaften aus, und klicken Sie auf die Registerkarte für die Ressourceneigenschaften. Wenn WebSphere MQ Version 6 installiert ist, starten Sie den WebSphere MQ-Explorer, und klicken Sie im linken Teilfenster mit der rechten Maustaste auf den Namen des WS-Managers. Wählen Sie im linken Teilfenster nacheinander Eigenschaften und XA-Ressourcenmanager aus. Weitere Informationen finden Sie im Handbuch WebSphere MQ System Administration Guide.
      Legen Sie für die Eigenschaft SwitchFile den folgenden Wert fest:
      Installationsverzeichnis/bin/ JMSSwitch.dll
      XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter
      ThreadOfControl=THREAD
    • Fügen Sie auf Linux- und UNIX-Plattformen für jeden JMS-Provider eine Zeilengruppe zu der .ini-Datei des WS-Managers hinzu. Weitere Informationen finden Sie im Handbuch WebSphere MQ System Administration Guide.
      Beispiel:
      XAResourceManager:  
      Name=Name_des_JMS-Providers
      SwitchFile=/Installationsverzeichnis/bin/ JMSSwitch.so
      XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter
      ThreadOfControl=THREAD
      Dabei 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.

      Für 'XAOpenString' gelten folgende Werte:
      • Ausgangskontext ist der Wert, der in der Basiseigenschaft Ausgangskontextfactory des JMSEmpfangsknotens festgelegt wurde.
      • JNDI-Position ist der Wert, der in der Basiseigenschaft JNDI-Position des JMSEmpfangsknotens festgelegt wurde. Dieser Wert sollte eines der folgenden führenden Schlüsselwörter als Vorzeichen enthalten: file:/, iiop:/ oder ldap:/.
      Die folgenden Parameter sind optional:
      • LDAP-Principal; entspricht dem Wert, der mit den Befehlen mqsicreatebroker oder mqsichangebroker für den Broker festgelegt wurde.
      • LDAP-Berechtigungsnachweise; entspricht dem Wert, der mit den Befehlen mqsicreatebroker oder mqsichangebroker für den Broker festgelegt wurde.
      • Name der Wiederherstellungs-Verbindungsfactory; entspricht der JNDI-verwalteten Verbindungsfactory, die in den JNDI-Bindungen definiert ist. Wenn kein Wert angegeben wird, muss den JNDI-Bindungen ein Standardwert für recoverXAQCF hinzugefügt werden. In jedem Fall sollte die Wiederherstellungs-Verbindungsfactory für den JMS-Provider, der der Ausgangskontext-Factory zugeordnet ist, als eine XA-Warteschlangenverbindungsfactory definiert werden.

      Die optionalen Parameter werden durch Kommas getrennt und sind positionsgebunden. Aus diesem Grund müssen fehlende Parameter durch ein Komma dargestellt werden.

      1. Aktualisieren Sie die Java-Umgebungsvariable CLASSPATH für den WS-Manager des Brokers, indem Sie einen Verweis auf die Datei 'xarecovery.jar' einfügen. Beispiel:
        Installationsverzeichnis/classes/xarecovery.jar
      2. Aktualisieren Sie die Java-Umgebungsvariable PATH für den WS-Manager des Brokers so, dass sie auf das Verzeichnis bin verweist, in dem sich die Switch-Datei befindet. Beispiel:
        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.

    • Unter z/OS wird als externer Synchronisationspunktmanager RRS (Resource Recovery Services) verwendet. Unter z/OS wird als JMS-Provider lediglich WebSphere MQ unterstützt. Die Bindungsoption (Bind) ist die einzige Transport-Option, die für WebSphere MQ JMS unter z/OS unterstützt 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.

Terminals und Eigenschaften

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 Beginn der ÄnderungDurch diese Eigenschaft können Sie steuern, ob der XMLNSC-Kompaktparser für Nachrichten in der XMLNS-Domäne verwendet wird. Wenn Sie diese Eigenschaft festlegen, werden die Nachrichtendaten unter XMLNSC in Knoten angezeigt, die mit dem Ausgabeterminal verbunden sind, wenn der RFH2-Eingabeheader oder die Standardeigenschaftendomäne XMLNS ist.Ende der Änderung
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.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac24820_