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.

Benutzerexits nutzen

Ihre Nachrichtenflüsse können von Benutzerexits profitieren.

Bevor Sie beginnen:

Im folgenden Diagramm wird die Funktionsweise eines Benutzerexits veranschaulicht. Die nummerierten Ereignisse werden unter dem Diagramm beschrieben. Der MQInput-Knoten wird als Beispiel verwendet, jedoch verfügen alle Empfangsknoten einschließlich benutzerdefinierter Knoten über diese Funktion. Auch die Compute- und MQOutput-Knoten können durch funktional entsprechende Knoten ersetzt werden.

Basisereignisse in Nachrichtenflüssen
  1. (cciInputMessageCallback) Die Nachricht wird aus der Warteschlange der Eingabequelle genommen (wird in den Fluss eingelesen).

    Jedoch besteht bezüglich der Art und Weise, wie Benutzerexits aufgerufen werden, ein geringfügiger Unterschied zwischen integrierten Knoten und benutzerdefinierten Knoten. Bei integrierten Knoten wird der Benutzerexit aufgerufen, sobald die Daten aus der externen Quelle gelesen wurden. Bei benutzerdefinierten Knoten wird der Benutzerexit unmittelbar vor der Weitergabe der Nachricht durch den Knoten aufgerufen.

  2. (cciPropagatedMessageCallback) Die Nachricht wird an den Knoten zur Verarbeitung weitergegeben.
  3. (cciOutputMessageCallback). Eine Anforderungsnachricht wird an die Transportmethode des Sendeknotens gesendet, und die transportspezifischen Zieladressendaten werden in der lokalen Umgebung (LocalEnvironment) in "WrittenDestination" geschrieben (diese Informationen umfassen beispielsweise den Warteschlangennamen (queueName) und die Nachrichten-ID (msgId) für eine MQ-Nachricht). Der Aufruf erfolgt, wenn ein Knoten eine Nachricht erfolgreich an eine Transportmethode übergibt, und zwar entweder über einen Sende- oder Anforderungsknoten. 'outputMessageEvent' wird nur von integrierten Knoten aufgerufen. Das jeweilige Thema für die einzelnen Knoten, die Informationen des Typs 'WrittenDestination' unterstützen, enthält nähere Informationen zu den enthaltenen Daten.
  4. (cciNodeCompletionCallback) Verarbeitung des Knotens wird abgeschlossen.
  5. (cciTransactionEventCallback) Der Benutzerexit wird nach Abschluss der Transaktion aufgerufen, so dass die Verarbeitung des Benutzerexits nicht Teil der Transaktion ist. Der Benutzerexit wird auch für den Fall aufgerufen, dass keine transaktionsorientierte Verarbeitung vom Fluss abgeschlossen wurde.

    Wenn der Wert die Nachrichtenflusseigenschaft Festschreibungszähler größer als 1 ist, besteht ein n:1-Verhältnis zwischen Ereignis 1 und Ereignis 5. Dieses Verhältnis gilt auch für Szenarios, die speziell für diesen bestimmten Empfangsknoten auftreten, z. B. wenn für einen MQInput-Knoten die Eigenschaft Festschreibung nach Nachrichtensatz ausgewählt ist.

Mithilfe eines Benutzerexits kann eine beliebige Anzahl dieser Ereignisse überwacht werden. Für jedes dieser Ereignisse stehen dem Benutzerexit folgende Daten zur Verfügung. Falls nicht anders angegeben, besteht lediglich Lesezugriff.
  • Die Nachricht wird aus der Warteschlange entfernt:
    • Bitstrom
    • Empfangsknoten
    • Umgebungsbaumstruktur (Lese- und Schreibzugriff)
  • Die Nachricht wird an den Knoten weitergegeben.
    • Nachrichtenbaumstruktur (Hauptteilelement, Lese- und Schreibzugriff)
    • Baumstruktur für lokale Umgebung (Lese- und Schreibzugriff)
    • Ausnahmeliste
    • Umgebungsbaumstruktur (Lese- und Schreibzugriff)
    • Ausgangsknoten
    • Zielknoten
  • Eine Nachricht wird an eine Transportmethode gesendet:
    • Nachrichtenbaumstruktur (Hauptteilelement, Lese- und Schreibzugriff)
    • Baumstruktur für lokale Umgebung (Lese- und Schreibzugriff)
    • Ausnahmeliste
    • Umgebungsbaumstruktur (Lese- und Schreibzugriff)
    • Sende- oder Anforderungsknoten
  • Verarbeitung des Knotens wird abgeschlossen:
    • Nachrichtenbaumstruktur (Hauptteilelement, Lese- und Schreibzugriff)
    • Baumstruktur für lokale Umgebung (Lese- und Schreibzugriff)
    • Ausnahmeliste
    • Umgebungsbaumstruktur (Lese- und Schreibzugriff)
    • Knoten
    • Vorgelagerter Knoten
    • Ausnahme (falls vorhanden)
  • Das Ende der Transaktion:
    • Empfangsknoten
    • Ausnahme (falls vorhanden)
    • Umgebungsbaumstruktur (Lese- und Schreibzugriff)

Sie können mehrere Benutzerexits registrieren, die dann in einer definierten Reihenfolge aufgerufen werden (weitere Informationen finden Sie unter Befehl mqsichangeflowuserexits). Wenn ein Benutzerexit Änderungen an einer Nachrichtenassemblierung (Nachricht und Umgebung) vornimmt, sind diese Änderungen für die folgenden Benutzerexits sichtbar.

Beim Aufruf eines Benutzerexits können folgende Informationen abgefragt werden:
  • Nachrichtenflussdaten:
    • Nachrichtenflussname
    • Brokername
    • Warteschlangenmanager des Brokers
    • Name der Ausführungsgruppe
    • Eigenschaft 'Festschreibungszähler' des Nachrichtenflusses
    • Eigenschaft 'Festschreibungsintervall' des Nachrichtenflusses
    • Eigenschaft 'Koordinierte Transaktion' des Nachrichtenflusses
  • Knotendaten:
    • Knotenname
    • Knotentyp
    • Terminalname
    • Knoteneigenschaften
Der Benutzerexit kann auch folgende Tasks ausführen:
  • In der Nachrichtenassemblierung navigieren und lesen (Message,LocalEnvironment,ExceptionList, Environment)
  • In der Baumstruktur für Nachrichtenhauptteil, LocalEnvironment und Environment navigieren und schreiben

Die Benutzerexits können auf dynamischer Basis registriert werden, d. h., die Konfiguration muss nicht erneut implementiert werden.

Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

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

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:19:50


TaskthemaTaskthema | Version 8.0.0.5 | ac02145_