WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

JMSOutput-Knoten

Mit dem JMSOutput-Knoten werden Nachrichten an JMS-Zieladressen gesendet.

Dieses Thema ist in folgende Abschnitte eingeteilt:

Zweck

Der JMSOutput-Knoten agiert als JMS-Nachrichtenproduzent und kann alle sechs Nachrichtentypen veröffentlichen, die in der Java™ Message Service Specification Version 1.1 definiert sind. Nachrichten werden mithilfe von Methodenaufrufen veröffentlicht, die in der JMS-Spezifikation beschrieben sind.

Der JMSOutput-Knoten befindet sich im Ablagefach JMS der Palette und wird im WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:

Symbol für JMSOutput-Knoten

JMSOutput-Knoten in einem Nachrichtenfluss verwenden

Das folgende Beispiel enthält einen Nachrichtenfluss, in dem der JMSOutput-Knoten verwendet wird. Anhand dieses Beispiels wird die Verwendung des JMSOutput-Knotens demonstriert.

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.

Nachrichtenflüsse, die Nachrichten handhaben, die von Verbindungen mit JMS-Providern empfangen werden, müssen immer mit einem JMSInput-Knoten beginnen. Wenn Sie den JMSOutput-Knoten in einen Nachrichtenfluss aufnehmen, müssen Sie keinen JMSInput-Knoten einschließen. Wenn Sie jedoch keinen JMSInput-Knoten aufnehmen, müssen Sie den MQJMSTransform-Knoten einschließen, um die Nachricht in das Format umzuwandeln, das vom JMSOutput-Knoten erwartet wird.

Wenn Sie JMS-Nachrichten weitergeben und einen Nachrichtenfluss so erstellen, dass er einen untergeordneten Nachrichtenfluss verwendet, setzen Sie eine Instanz des JMSOutput-Knotens als letzten Knoten ein, um ein Ausgangsterminal für den untergeordneten Nachrichtenfluss zu erstellen.

Typ der JMS-Ausgabenachricht steuern

In der JMS-Nachrichtenbaumstruktur wird der Typ der JMS-Nachricht im Feld 'PayloadType' des Unterordners 'Message_MetaData' angegeben. Verwenden Sie zur Steuerung des Nachrichtentyps, der vom JMSOutput-Knoten erstellt wird, folgenden ESQL-Code, um den Nutzlastwert zu setzen:
SET OutputRoot.JMSTransport.Transport_Folders.Message_MetaData.PayloadType=Nutzlastwert

Weitere Informationen zur JMS-Nachrichtenbaumstruktur und zu Nutzlastwerten finden Sie im Abschnitt Darstellung von Nachrichten im JMS-Transport.

JMS-Nachricht an eine Zieladressenliste senden

Wenn Sie eine JMS-Nachricht an eine Zieladressenliste senden möchten, müssen Sie sicherstellen, dass folgende Bedingungen erfüllt sind:
  • Wählen Sie in der Registerkarte Grundeinstellungen des JMSOutput-Knotens An Zieladressenliste in lokaler Umgebung senden aus.
  • Konfigurieren Sie die Liste in der lokalen Umgebung, so wie im folgenden Beispiel gezeigt.
    CREATE PROCEDURE CreateJMSDestinationList() BEGIN
      SET OutputLocalEnvironment.Destination.JMSDestinationList.DestinationData[1] = 'jndi://TestDestQueue1';
      SET OutputLocalEnvironment.Destination.JMSDestinationList.DestinationData[2] = 'jndi://TestDestQueue2';
      SET OutputLocalEnvironment.Destination.JMSDestinationList.DestinationData[3] = 'jndi://TestDestQueue3';
    END;
  • Stellen Sie sicher, dass das Nachrichtenmodell (Punkt-zu-Punkt oder Publish/Subscribe) mit dem Modell übereinstimmt, das vom JMSOutput-Knoten verwendet wird. In diesem Fall handelt es sich um ein Punkt-zu-Punkt-Modell.
  • Wenn der Bestimmungsname in der Liste als Präfix die Zeichenfolge “jndi://” hat, wird dem JMSOutput-Knoten angezeigt, dass der Wert für den Namen eines verwalteten JNDI-Objekts steht, das gesucht werden muss. Wenn allerdings das für den JMS-Provider spezifische Format für eine Zieladresse bekannt ist, kann dieses verwendet werden; z. B. Warteschlange://WS-Managername/Warteschlangenname für WebSphere MQ. Sonst wird der Wert zur Erstellung einer temporären Zieladresse verwendet.
  • Die Elemente, auf die die JMS-Zieladressenliste verweist, stellen JMS-Zieladressen dar, bei denen es sich um JMS-Warteschlangenziele oder JMS-Themaziele handeln kann. Diese Zieltypen müssen mit dem Typ der Verbindungsfactory konsistent sein, der im JMSOutput-Knoten angegeben ist, durch den die Zieladressenliste verarbeitet wird. Beispielsweise kann ein JMS-Warteschlangenziel von einer JMS-Warteschlangenverbindungsfactory oder einer generischen JMS-Verbindungsfactory verarbeitet werden. Entsprechend kann ein JMS-Themaziel von einer JMS-Themaverbindungsfactory oder einer generischen JMS-Verbindungsfactory verarbeitet werden.
Weitere Informationen zur Verwendung der Variablen der lokalen Umgebung in einem JMSOutput-Knoten finden Sie im Abschnitt LocalEnvironment-Variablen bei JMSOutput- und JMSReply-Knoten verwenden.

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

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. Die vordefinierten Services sind unter Eigenschaften von konfigurierbaren Services aufgeführt.

  • Wenn Sie den WebSphere MQ-JMS-Provider verwenden möchten und WebSphere MQ an der Standardposition im Brokersystem installiert haben, sind die Eigenschaften bereits festgelegt und Sie müssen keine Änderungen vornehmen.
  • Soll der WebSphere MQ-JMS-Provider verwendet werden und ist WebSphere MQ an einer anderen Speicherposition (nicht an der Standardposition) installiert oder soll einer der anderen definierten Services verwendet werden, muss über die Eigenschaft jarsURL die Position der Service-JAR-Dateien im Brokersystem angegeben werden. Unter Windows kann die Dateiadresse kein zugeordnetes Netzlaufwerk auf einem fernen Windows-Computer sein; das Verzeichnis muss sich in der lokalen Umgebung oder auf einem SAN-Datenträger (Storage Area Network) befinden.

    Mit dem Befehl mqsireportproperties können Sie die Providereigenschaften anzeigen. Mit dem Befehl mqsichangeproperties können Sie die Eigenschaften festlegen oder modifizieren.

  • Wenn kein Service für Ihren JMS-Provider definiert ist oder wenn Sie einen anderen Service für einen vorhandenen JMS-Provider erstellen möchten, verwenden Sie den Befehl mqsicreateconfigurableservice zum Identifizieren des neuen Service und Festlegen seiner Eigenschaften.
  • Wählen Sie bei der Konfiguration des Knotens den entsprechenden Service in der Liste der vordefinierten Services aus, die für die Eigenschaft Name des JMS-Providers angezeigt werden, oder geben Sie den Namen des neuen Service an.
  • Einige JMS-Provider bieten für bestimmte JMS-API-Aufrufe eine alternative Schnittstelle zur JMS-Standardspezifikation. In diesen Fällen stellt IBM® eine Java-JAR-Datei als Schnittstelle zur eigenen Anwendungsprogrammierschnittstelle zur Verfügung. Wenn die JMS-Knoten beispielsweise BEA WebLogic als JMS-Provider verwenden und die Knoten an einem XA-koordinierten Nachrichtenfluss teilnehmen müssen, müssen Sie die Eigenschaften der konfigurierbaren Services ändern, die diesem Anbieter zugeordnet sind. Der Abschnitt Broker für die Nutzung der proprietären Anwendungsprogrammierschnittstelle eines JMS-Providers konfigurieren enthält weitere Informationen hierzu.
  • Sie können Verbindungen zu verschiedenen Versionen eines JMS-Providers herstellen, indem Sie einen konfigurierbaren JMSProviders-Service für jede Version des JMS-Providers erstellen und dann die Eigenschaft jarsURL auf einen eindeutigen Pfad setzen.

Nachrichtenzielmodus verwenden

Der JMSOutput-Knoten agiert als Nachrichtenproduzent und unterstützt die folgenden Nachrichtenszenarios: Weitere Informationen zur Erstellung von JMS-Zieladressenlisten finden Sie unter Zieladresse in der Baumstruktur für die lokale Umgebung mit Daten füllen.

Eine Datagrammnachricht senden

Ein Datagramm ist eine abgeschlossene, unabhängige Datenentität, die selbst genügend Informationen enthält, um vom Quellensystem zum Zielsystem geleitet zu werden, ohne dabei auf Informationen aus früheren Übertragungen zwischen den beiden Systemen oder auf Informationen des verwendeten Transportnetzes angewiesen zu sein. In den folgenden Anweisungen wird das Senden einer Datagrammnachricht beschrieben:
  1. Legen Sie auf der Registerkarte Grundeinstellungen das Nachrichtenziel entsprechend dem verwendeten Nachrichtenmodell fest. Setzen Sie eine der folgenden Eigenschaften auf den gültigen Namen eines JNDI-verwalteten Objekts:
    • Veröffentlichungsthema
    • Zielwarteschlange
  2. Lassen Sie das Feld Zieladresse für Antworten leer.
Der Knoten löst den Namen des JNDI-verwalteten Objekts auf, der entweder in der Eigenschaft Veröffentlichungsthema oder Zielwarteschlange bereitgestellt wurde, und sendet die Nachricht an diese JMS-Zieladresse.

Antwortnachricht senden

Der Sender einer Nachricht erwartet möglicherweise eine Antwort vom Empfänger der Nachricht. In diesem Fall kann die JMSOutput-Nachricht die ausgehende Nachricht als Antwort behandeln und gemäß dem Wert, der aus der Eigenschaft JMSReplyTo aus der Anforderungsnachricht abgerufen wird, weiterleiten. Sie können den Wert der Eigenschaft JMSReplyTo in MbMessage z. B. mithilfe eines Compute-Knotens oder eines JavaCompute-Knotens ändern. Dies ermöglicht das dynamische Routing von Nachrichten vom JMSOutput-Knoten aus. Der Knoten sendet die Nachricht an den JMS-Bestimmungsnamen, der im Feld 'JMSReplyTo' der MbMessage-Baumstruktur festgelegt wurde.

Dabei stellt der Wert für 'JMSReplyTo' in der MbMessage-Baumstruktur den Namen der JMS-Zieladresse dar, der aus JNDI aufgelöst wurde. Beispiel:
queue://QM_mn2/meineJMSWarteschlange4
In diesem Fall handelt es sich bei dem Wert um die JMS-Provider-spezifische Darstellung der JMS-Zieladresse beim JMS-Provider für die WebSphere MQ-Serie.
Wenn Sie keinen aufgelösten Namen für die JMS-Zieladresse angeben möchten, kann der JMSOutput-Knoten auch den Namen eines JNDI-verwalteten Objekts im Feld JMSReplyTo akzeptieren. Jedoch muss der Knoten den Namen des JNDI-verwalteten Objekts in JNDI auflösen, damit er die Nachricht an die zugrunde liegende JMS-Zieladresse weiterleiten kann. In diesem Fall muss der Wert im Feld JMSReplyTo die Zeichenfolge jndi:// als Präfix erhalten. Beispiel:
jndi://jmsQ4
Dabei steht jmsQ4 für den Namen des JNDI-verwalteten Objekts.

Bei Verwendung dieser Methode können Leistungseinbußen auftreten, weil der Name des verwalteten Objekts erst in JNDI nachgeschlagen werden muss.

Anforderungsnachricht senden

Der JMSOutput-Knoten kann eine Nachricht an die JMS-Zieladresse in der Erwartung senden, von dem Nachrichtenkonsumenten, der die Anforderung verarbeitet, eine Antwort zu erhalten. In den folgenden Anweisungen wird das Senden einer Anforderungsnachricht beschrieben:
  1. Legen Sie auf der Registerkarte Grundeinstellungen das Nachrichtenziel entsprechend dem verwendeten Nachrichtenmodell fest. Setzen Sie eine der folgenden Eigenschaften auf den gültigen Namen eines JNDI-verwalteten Objekts:
    • Veröffentlichungsthema
    • Zielwarteschlange
  2. Die für 'JMSReplyTo' anzugebende Zieladresse in der ausgehenden Nachricht kann aus dem an den Knoten übergebenen Wert, der im Feld 'JMSReplyTo' der MbMessage-Baumstruktur angegeben wurde, abgeleitet werden. Alternativ kann der Wert auch durch den Namen eines JNDI-verwalteten Objekts überschrieben werden, der mit der Knoteneigenschaft Zieladresse für Antworten festgelegt wurde.

    Wenn der JMSOutput-Knoten die Eigenschaft 'JMSReplyTo' in der ausgehenden Nachricht dynamisch festlegen soll, lassen Sie das Feld Zieladresse für Antworten auf der Registerkarte Grundeinstellungen leer, und legen Sie den Wert für 'JMSReplyTo' in MbMessage mithilfe eines Compute-Knotens oder eines JavaCompute-Knotens fest.

Der Knoten sucht zuerst nach einem Wert im Feld 'JMSReplyTo' von MbMessage. Wenn er den Wert findet, übergibt er ihn an das Feld 'JMSReplyTo' der ausgehenden Nachricht. Wenn jedoch ein Wert im Feld Zieladresse für Antworten auf der Registerkarte Grundeinstellungen angegeben wurde, überschreibt dieser Wert nach Auflösung des Namens des JNDI-verwalteten Objekts alle Angaben, die zuvor für die Eigenschaft 'JMSReplyTo' der ausgehenden Nachricht gemacht wurden.

Der Knoten löst den Namen des JNDI-verwalteten Objekts auf, der entweder im Veröffentlichungsthema oder in der Zielwarteschlange bereitgestellt wurde, und sendet die Nachricht an diese JMS-Zieladresse.

Callback-Funktion für Ausgabenachricht aufrufen

Die Funktion 'cciOutputMessageCallback' kann als Callback registriert und immer aufgerufen werden, wenn von einem JMSOutput-Knoten eine Nachricht gesendet wird. Weitere Informationen hierzu finden Sie unter cciOutputMessageCallback.

Wenn der Benutzerexitstatus aktiv ist, wird die Funktion 'cciOutputMessageCallback' für jede Ausgabenachricht aufgerufen, die erfolgreich von einem JMSOutput-Knoten, auf dem der Callback registriert ist, gesendet wird.

Wenn der Knoten in der Baumstruktur 'LocalEnvironment' die Information 'WrittenDestination' bereitstellt, wird der Callback nach der Erstellung dieser Information aufgerufen. Weitere Informationen hierzu finden Sie unter LocalEnvironment-Variablen bei JMSOutput- und JMSReply-Knoten verwenden.

Mit der JMS-Nachrichten-ID arbeiten

Die JMS-Nachrichten-ID wird vom JMS-JMS-Provider generiert, wenn eine Nachricht vom JMSOutput-Knoten gesendet wird. Sie können die Nachrichten-ID nicht im Nachrichtenfluss festlegen, sondern die generierte ID nach dem Senden der Nachricht mit einer der folgenden Methoden abrufen:
  • Verbinden Sie einen Compute-Knoten mit dem Ausgangsterminal.

    Verbinden Sie einen Compute-Knoten mit dem Ausgangsterminal (Out) eines JMSOutput-Knotens, und überprüfen Sie die WrittenDestination-Liste. Der Abschnitt Die Baumstruktur einer logischen Nachricht in der Traceausgabe anzeigen enthält weitere Informationen hierzu.

    Ein Eintrag für einen JMSOutput-Knoten hat folgendes Format:
    WrittenDestination = (
       JMS = (
          DestinationData = (
            destinationName = 'queue://jmsQueue1'
            initialContext = 'com.sun.jndi.fscontext.RefFSContextFactory'
            JMSMessageID = ID:414d512054657374514d2020202020206ab98b4520017a02'
            JMSCorrelationID = 'ABCDEFGHIJKLMNOPQRSTUVW'
      )
     )
    )
  • Konfigurieren Sie einen Benutzerexit für die Verarbeitung eines Callback-Ereignisses für Ausgabenachrichten. Der Abschnitt Benutzerexits nutzen enthält weitere Informationen hierzu.

Koordinierte Transaktionen konfigurieren

Wenn Sie einen JMSOutput-Knoten in einen Nachrichtenfluss einschließen, definiert der Wert, den Sie für den Transaktionsmodus festgelegt haben, ob die Nachrichten unter Synchronisationspunktsteuerung gesendet werden.

  • Wenn Sie den Transaktionsmodus auf Ja setzen und die Nachrichtenflusseigenschaft Koordinierte Transaktion ausgewählt ist, wird die Nachricht unter der externen Synchronisationspunktsteuerung gesendet, d. h. in einer WebSphere MQ-Arbeitseinheit. Alle Nachrichten, die später von einem Sendeknoten in derselben Instanz des Nachrichtenflusses gesendet werden, unterliegen der Synchronisationspunktsteuerung, es sei denn, der Sendeknoten setzt diese Einstellung explizit außer Kraft.
  • Wenn Sie den Transaktionsmodus auf Ja setzen und die Nachrichtenflusseigenschaft Koordinierte Transaktion nicht ausgewählt ist, wird die Nachricht unter der lokalen Synchronisationspunktsteuerung des JMSOutput-Knotens gesendet. Alle Nachrichten, die später von einem Sendeknoten im Nachrichtenfluss gesendet werden, unterliegen nicht der lokalen Synchronisationspunktsteuerung, es sei denn, ein einzelner Sendeknoten hat dies explizit vorgegeben.
  • Wenn Sie den Transaktionsmodus auf Nein setzen, wird die Nachricht nicht unter Synchronisationspunktsteuerung gesendet. Alle Nachrichten, die später von einem Sendeknoten im Nachrichtenfluss gesendet werden, unterliegen nicht der Synchronisationspunktsteuerung, es sei denn, ein einzelner Sendeknoten hat dies explizit vorgegeben.
Wenn Nachrichten unter einer externen Synchronisationspunktsteuerung gesendet werden sollen, müssen Sie zusätzliche Konfigurationsschritte ausführen, die nur erforderlich sind, wenn ein JMSOutput- oder JMSInput-Knoten zum ersten Mal für einen bestimmten JMS-Provider auf dem Broker eingesetzt wird:
  • Auf verteilten Systemen wird als externer Synchronisationspunkt-Koordinator für den Broker WebSphere MQ verwendet. Bevor Sie einen Nachrichtenfluss implementieren, in dem Transaktionsmodus auf Ja gesetzt und die Nachrichtenflusseigenschaft Koordinierte Transaktion ausgewählt ist, müssen Sie die Warteschlangenmanagerdatei (.ini) ändern, indem Sie zusätzliche Definitionen für jeden JMS-Provider-Ressourcenmanager einfügen, der an XA-koordinierten Transaktionen teilnimmt:
    • Windows platformUnter Windows on x86:
      1. Starten Sie WebSphere MQ Explorer.
      2. Klicken Sie im linken Teilfenster mit der rechten Maustaste auf den Namen des Warteschlangenmanagers, und klicken Sie auf Eigenschaften.
      3. Klicken Sie im linken Teilfenster auf XA-Ressourcenmanager.
      4. Legen Sie für die Eigenschaft SwitchFile den folgenden Wert fest:
        Installationsverzeichnis/bin/ JMSSwitch.dll  
        XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter
        ThreadOfControl=THREAD 
      Weitere Informationen finden Sie im System Administration Guide (Handbuch zur Systemverwaltung) unter WebSphere MQ Version 7 Information Center online.
    • Windows platformUnter Windows on x86-64:
      1. Starten Sie den WebSphere MQ-Explorer.
      2. Klicken Sie im linken Teilfenster mit der rechten Maustaste auf den Namen des Warteschlangenmanagers, und klicken Sie auf Eigenschaften.
      3. Klicken Sie im linken Teilfenster auf XA-Ressourcenmanager.
      4. Legen Sie für die Eigenschaft SwitchFile den folgenden Wert fest:
         JMSSwitch
              XAOpenString=Initial Context,location JNDI,Optional_parms
              ThreadOfControl=THREAD 
      5. Kopieren Sie die Switch-Datei JMSSwitch32.dll in das Unterverzeichnis \exits des Installationsverzeichnisses von WebSphere MQ und benennen Sie es um in JMSSwitch.dll. Kopieren Sie die Switch-Datei in das Unterverzeichnis \exits64 im Installationsverzeichnis von WebSphere MQ.
      Weitere Informationen finden Sie im System Administration Guide (Handbuch zur Systemverwaltung) unter WebSphere MQ Version 7 Information Center online.
    • Linux platformUNIX platformFügen Sie auf Linux- und UNIX-Systemen für jeden JMS-Provider eine Zeilengruppe zur .ini-Datei des WS-Managers hinzu.
      Beispiel:
      XAResourceManager:
      Name=Name_des_JMS-Providers 
      SwitchFile=/Installationsverzeichnis/bin/ JMSSwitch.so
      XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter
      ThreadOfControl=THREAD
      Dabei ist
      Name
      Ein bei der Installation definierter Name, der einen Ressourcenmanager des JMS-Providers identifiziert.
      SwitchFile
      Der Dateisystempfad zur JMSSwitch-Bibliothek, der im Brokerverzeichnis bin angegeben wird.
      XAOpenString kann folgende Werte haben:
      • Ausgangskontext ist der Wert, der in der Basiseigenschaft Ausgangskontextfactory des JMSInput-Knotens festgelegt wurde.
      • JNDI-Position ist der Wert, der in der Basiseigenschaft Position der JNDI-Bindungen des JMSInput-Knotens festgelegt wurde. Dieser Wert muss eines der folgenden führenden Schlüsselwörter 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 muss die Wiederherstellungs-Verbindungsfactory für den JMS-Provider, der der Ausgangskontextfactory 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, z. B.:
        Installationsverzeichnis/classes/xarecovery.jar
      2. Aktualisieren Sie die Java-Umgebungsvariable PATH für den WS-Manager des Brokers, sodass Sie auf das Verzeichnis 'bin' verweist, in dem sich die Switch-Datei befindet, z. B.:
        Installationsverzeichnis/bin

      Weitere Informationen finden Sie im System Administration Guide (Handbuch zur Systemverwaltung) unter WebSphere MQ Version 7 Information Center online.

    • z/OS platformUnter z/OS wird als externer Synchronisationspunktmanager RRS (Resource Recovery Services) verwendet. Unter z/OS wird als JMS-Provider lediglich WebSphere MQ JMS unterstützt. Die Bindungsoption ist die einzige Transportoption, 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 Broker-WS-Managers verwaltet. Die Datei .ini muss nicht geändert werden.

Wenn der JMSOutput-Knoten BEA WebLogic als JMS-Provider verwendet und die Knoten an einem koordinierten Nachrichtenfluss teilnehmen müssen, lesen Sie den Abschnitt Client des JMS-Providers für JMS-Knoten verfügbar machen.

Verbindungen zu Terminals herstellen

Verbinden Sie das Eingangsterminal des JMSOutput-Knotens mit dem Knoten, von dem ausgehende Nachrichten weitergeleitet werden.

Verbinden Sie das Ausgangsterminal des JMSOutput-Knotens mit einem anderen Knoten im Nachrichtenfluss, um die Nachricht weiterzuverarbeiten, Fehler zu verarbeiten oder die Nachricht an eine weitere Zieladresse zu senden.

Terminals und Eigenschaften

Nachdem Sie eine Instanz des JMSOutput-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. Alle verbindlichen Eigenschaften, für die kein Standardwert definiert ist, sind mit einem Stern markiert.

In der folgenden Tabelle werden die Terminals des JMSOutput-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 geleitet wird, wenn ein Fehler auftritt.Selbst wenn die Eigenschaft 'Auswerten' festgelegt wird, werden Nachrichten, die an dieses Terminal weitergegeben werden, nicht ausgewertet.
Ausgang Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie erfolgreich in das Ausgabeziel (Thema oder Warteschlange) gestellt 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 JMSOutput-Knotens beschrieben.
Eigenschaft O K Standardwert Beschreibung
Knotenname Nein Nein Knotentyp, z. B. JMSOutput 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 Basiseigenschaften des JMSOutput-Knotens beschrieben.
Eigenschaft M C Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
Zielwarteschlange Nein Ja   Der Name der Warteschlange, in der der Knoten ausgehende Nachrichten veröffentlicht. Wenn der JMSOutput-Knoten zum Senden von Punkt-zu-Punkt-Nachrichten verwendet werden soll, geben Sie den Namen der Zielwarteschlange als JMS-Warteschlangenname, der in der JMS-Bindungsdatei aufgelistet ist, ein. destinationQueueName
Veröffentlichungsthema Nein Ja   Der Name des Themas, für das der Knoten Nachrichten veröffentlicht.
  • Wenn diese Eigenschaft konfiguriert ist, agiert der Knoten nur in der Publish/Subscribe-Nachrichtendomäne.
  • Diese Eigenschaft und die Eigenschaft Zielwarteschlange schließen sich gegenseitig aus.
  • Der Name für das Veröffentlichungsthema muss den Standards des JMS-Providers, der vom Knoten verwendet wird, entsprechen.
Thema
Zieladresse für Antworten Nein Ja   Der Name der JMS-Zieladresse, an die die empfangende Anwendung eine Antwortnachricht senden muss. Der JMS-Bestimmungsname muss der Domäne des vom empfangenden Client verwendeten JMS-Providers bekannt sein, damit eine Antwortnachricht an diese JMS-Zieladresse zurückgegeben werden kann. Sie können eine JMS-Zieladresse eingeben, bei der es sich um eine Subskriptionswarteschlange oder um ein Zielthema handeln kann.

Standardmäßig ist kein Wert angegeben. In diesem Fall kann die JMS-Ausgabenachricht als Datagramm betrachtet werden. Wenn dieses Feld leer gelassen wird, erwartet der JMSOutput-Knoten keine Antwort vom empfangenden JMS-Client.

replyToDestination
An Zieladressenliste in lokaler Umgebung senden Nein Ja Nicht ausgewählt Wenn Sie in der lokalen Umgebung eine Liste von JMS-Zieladressen erstellt haben, aktivieren Sie dieses Kontrollkästchen, um die Zieladressenliste zu verwenden. Wenn Sie dieses Kontrollkästchen nicht aktivieren, verwendet der Knoten die konfigurierte JMS-Zieladresse. Wenn Sie dieses Kontrollkästchen aktivieren, aber keine Liste mit JMS-Zieladressen in der lokalen Umgebung erstellt haben, verwendet der Knoten die konfigurierte JMS-Zieladresse. useDistList
In der folgenden Tabelle werden die JMS-Verbindungseigenschaften des JMSOutput-Knotens beschrieben.
Eigenschaft M C Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
Name des JMS-Providers Ja Nein WebSphere MQ Wählen Sie in der Liste den Namen eines JMS-Anbieters aus, oder geben Sie einen Namen ein. Wenn Sie in der Liste einen Namen auswählen, wird die Eigenschaft Ausgangskontextfactory automatisch mit der entsprechenden Java-Klasse aktualisiert. Wenn Sie den JMS-Provider selbst eingeben, müssen Sie auch einen Wert für Ausgangskontextfactory eingeben. Der Name muss dem Namen eines konfigurierbaren Service entsprechen, der für den Broker, für den Sie den Nachrichtenfluss implementieren, definiert ist. Alternativ können Sie den konfigurierbaren Service JMSProviders angeben.  
Ausgangskontextfactory No Ja com.sun.jndi.fscontext. RefFSContextFactory Diese Eigenschaft gibt den Ausgangspunkt für einen JNDI-Namespace an. Eine JMS-Anwendung verwendet den Ausgangskontext, um die Verbindungsfactory sowie Warteschlangen oder Themenobjekte für den JMS-Provider abzurufen und zu suchen.

Wenn Sie in der Liste unter Name des JMS-Providers den Namen eines JMS-Providers auswählen, wird die Eigenschaft Ausgangskontextfactory automatisch mit der entsprechenden Java-Klasse aktualisiert. Wenn Sie den JMS-Provider selbst eingeben, müssen Sie auch einen Wert für Ausgangskontextfactory eingeben. Der Standardwert lautet com.sun.jndi.fscontext.RefFSContextFactory; damit wird die dateibasierte Ausgangskontextfactory für den JMS-Provider von WebSphere MQ definiert.

Wenn der Knoten für die Verwendung Ihres eigenen JMS-Providers eingestellt ist und für die entsprechende Eigenschaft Konfigurierbare Services der Definition mqsichangeproperties das Attribut Ausgangskontextfactory festgelegt wurde, überschreibt dies die Einstellung auf dem Knoten.

initialContextFactory
Position der JNDI-Bindungen No Ja   Der Systempfad oder die LDAP-Position für die Bindungsdatei. Die Bindungsdatei enthält Definitionen für die verwalteten JNDI-Objekte, die vom JMSOutput-Knoten verwendet werden.
Wenn Sie einen Wert für 'Position der JNDI-Bindungen' eingeben, müssen Sie dabei folgende Anweisungen einhalten:
  • Erstellen Sie die Bindungsdatei vor der Implementierung eines Nachrichtenflusses, der einen JMSOutput-Knoten 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, konfigurieren Sie sowohl den LDAP-Principal (Benutzer-ID) als auch die LDAP-Berechtigungsnachweise (Kennwort) separat. Diese Werte werden auf Brokerebene konfiguriert. Informationen zur Konfiguration dieser Werte finden Sie in den Abschnitten Befehl mqsicreatebroker und Befehl mqsichangebroker.
  • Der Zeichenfolgewert muss ein unterstütztes URL-Präfix einschließen, das einen im Klassenpfad verfügbaren URL-Handler enthält.

Informationen zum Erstellen der JMS-Bindungsdatei für verwaltete JNDI-Objekte finden Sie in der mit dem JMS-Provider zur Verfügung gestellten Dokumentation.

Wenn der Knoten für die Verwendung Ihres eigenen JMS-Providers eingestellt ist und für die entsprechende Eigenschaft Konfigurierbare Services der Definition mqsichangeproperties das Attribut jndiBindingsLocation festgelegt wurde, überschreibt dies die Einstellung auf dem Knoten.

locationJndiBindings
Name der Verbindungsfactory No Ja   Der Name der Verbindungsfactory, der vom JMSOutput-Knoten für die Erstellung einer Verbindung zum JMS-Provider verwendet wird. Dieser Name muss in der Bindungsdatei bereits vorhanden sein. Die Verbindungsfactory kann eine JMS-Warteschlangenverbindungsfactory oder eine JMS-Themaverbindungsfactory sein, muss jedoch mit dem Nachrichtenmodell übereinstimmen, das vom Knoten verwendet wird. Alternativ dazu können Sie die generische JMS-Verbindungsfactory angeben, die für JMS-Warteschlangenziele oder für JMS-Themaziele verwendet werden kann. connectionFactoryName
In der folgenden Tabelle werden die erweiterten Eigenschaften des JMSOutput-Knotens beschrieben.
Eigenschaft M C Standardwert Beschreibung
Neue Korrelations-ID Nein Ja   Wählen Sie Neue Korrelations-ID aus, wenn der JMSOutput-Knoten benötigt wird, um eine neue Korrelations-ID für die Nachricht zu generieren. Wenn Sie das Kontrollkästchen nicht aktivieren, wird die Korrelations-ID der Ausgabenachricht aus dem Feld 'JMSCorrelationID' im Abschnitt 'JMSTransport_Header_Values' der Nachrichtenbaumstruktur übernommen.
Transaktionsmodus Ja Nein Nein
Durch diese Eigenschaft wird gesteuert, ob die Nachricht unter einer JMS-Transaktion empfangen wird. Gültige Werte sind Ja und Nein.
  • Wählen Sie Nein aus, um die Nachricht mit einer nicht transaktionsorientierten JMS-Sitzung zu empfangen.
  • Wählen Sie Ja aus, um die Nachricht mit einer transaktionsorientierten JMS-Sitzung zu empfangen. Die JMS-Transaktion kann entweder lokal oder XA-koordiniert sein. Um eine XA-Transaktion mit einer XA-JMS-Sitzung zu verwenden, müssen Sie in den Eigenschaften der BAR-Datei auch die Nachrichtenflusseigenschaft Koordinierte Transaktion auswählen. Weitere Informationen hierzu finden Sie unter Koordinierte JMS-Transaktionen konfigurieren.
Der Wert, der für Transaktionsmodus auf dem JMSOutput-Knoten festgelegt ist, wird von den nachgeschalteten Knoten im Nachrichtenfluss übernommen, bei denen Transaktionsmodus auf Automatisch gesetzt ist. Andere Ressourcen, die Arbeiten im Nachrichtenfluss durchführen, z. B. DB2 oder WebSphere MQ, verwenden Transaktionen unabhängig von der Einstellung des Knotens für Transaktionsmodus und schreiben ihre Transaktion fest, nachdem die Nachricht verarbeitet wurde.
Zustellmodus Nein Ja Nicht permanent Durch diese Eigenschaft wird der Permanenzmodus gesteuert, den ein JMS-Provider für eine Nachricht verwendet. Folgendes sind gültige Werte:
  • Automatisch: Der Modus wird aus der Eingabenachricht übernommen.
  • Permanent: Die Nachricht bleibt erhalten, wenn beim JMS-Provider ein Systemausfall auftritt.
  • Nicht permanent: Die Nachricht geht verloren, wenn beim JMS-Provider ein Systemausfall auftritt.
Verfall der Nachricht (ms) Nein Ja 0 Diese Eigenschaft gibt (in Millisekunden) die Zeitdauer an, für die der JMS-Provider die JMS-Ausgabenachricht aufbewahrt. Mit dem Standardwert 0 wird angegeben, dass die Nachricht nicht ablaufen darf.
Wählen Sie Aus Header übernehmen aus, oder geben Sie eine Ganzzahl ein, die einer Angabe in Millisekunden entspricht. Wenn Sie Aus Header übernehmen auswählen, übernimmt die Eigenschaft den Wert des Feldes 'JMSExpiry' in der JMS-Nachricht, das sich an der folgenden Position befindet:
OutputRoot.JMSTransport.Transport_Folders.Header_Values.JMSExpiration
Nachrichtenpriorität Nein Ja 4 Diese Eigenschaft weist der Nachricht eine relative Bedeutung zu und kann von einer empfangenden JMS-Clientanwendung oder einem JMSOutput-Knoten zur Nachrichtenauswahl verwendet werden.

Wählen Sie einen Wert zwischen 0 (niedrigste Priorität) und 9 (höchste Priorität), oder wählen Sie Aus Header übernehmen aus.

Der Standardwert lautet 4, was eine mittlere Priorität bedeutet. Prioritäten im Bereich 0 bis 4 beziehen sich auf eine normale Zustellung. Die Prioritäten im Bereich 5 bis 9 sind Abstufungen einer Eilzustellung zugeordnet. Wenn Sie Aus Header übernehmen auswählen, übernimmt die Eigenschaft den Wert des Feldes 'JMSPriority' in der JMS-Nachricht, das sich an der folgenden Position befindet:
OutputRoot.JMSTransport.Transport_Folders.Header_Values.JMSPriority
Nachrichtenart Nein Ja Ermitteln Sie den Typ der Ausgabenachricht aus der JMS-Nachrichtenbaumstruktur Wählen Sie in der Liste einen Wert aus, um den Typ der JMS-Nachricht zu konfigurieren, der vom JMSOutput-Knoten erstellt wird. Wenn Sie keinen Wert für diese Eigenschaft festlegen, wählt der Knoten den Ausgabetyp aus dem Metadatenfeld 'PayLoadType' in der JMS-Nachrichtenbaumstruktur aus, wie durch den Standardwert Ausgabenachrichtentyp aus der JMS-Nachrichtenbaumstruktur bestimmen angezeigt wird. Gültige Werte sind:
  • Ausgabenachrichtentyp aus der JMS-Nachrichtenbaumstruktur bestimmen
  • TextMessage (Textnachricht)
  • BytesMessage (Bytenachricht)
  • MapMessage (Zuordnungsnachricht)
  • StreamMessage (Datenstromnachricht)
  • ObjectMessage (Objektnachricht)
  • JMS-Basisnachricht ohne Nutzdaten
In der folgenden Tabelle werden die Auswertungseigenschaften des JMSOutput-Knotens beschrieben. Weitere Informationen zu den Auswertungseigenschaften finden Sie in den Abschnitten Nachrichten überprüfen und 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, Inhalt und Wert und Übernehmen. validateMaster
Aktion bei Fehler Nein Nein Ausnahme Durch diese Eigenschaft wird gesteuert, was beim Fehlschlagen der Auswertung geschieht. Diese Eigenschaft kann nur angegeben werden, wenn Auswerten auf Inhalt oder Inhalt und Wert gesetzt ist. Gültige Werte sind Benutzertrace, Lokales Fehlerprotokoll, Ausnahmebedingung und Ausnahmeliste.  
Die Überwachungseigenschaften des Knotens werden in der folgenden Tabelle beschrieben.
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.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:20:05


ReferenzthemaReferenzthema | Version 8.0.0.5 | ac24830_