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.

JavaCompute-Knoten

Verwenden Sie für die Arbeit mit Nachrichten unter Verwendung der Java™-Sprache den JavaCompute-Knoten.

Zweck

Mit diesem Knoten können folgende Tasks ausgeführt werden:

  • Unter Verwendung von Java kann eine eingehende Nachricht geprüft werden, die dann je nach Inhalt unverändert an einen der beiden Ausgabeterminals des Knotens weitergeleitet wird. Der Knoten verhält sich ähnlich wie ein Filter-Knoten, verwendet jedoch anstelle von ESQL-Code Java, um zu ermitteln, welches Ausgabeterminal verwendet werden soll.
  • Verwenden Sie Java, um einen Teil einer eingehenden Nachricht zu ändern und die geänderte Nachricht an eines der Ausgabeterminals weiterzugeben.
  • Verwenden Sie Java, um eine neue Ausgabenachricht zu erstellen und aufzubauen, die völlig unabhängig von der Eingabenachricht ist.
  • Erstellen Sie mithilfe von Java eine Zuordnung in einem globalen Cache und fügen Sie dieser Zuordnung Daten hinzu bzw. rufen Sie Daten daraus ab. Im globalen Cache gespeicherte Daten sind für andere JavaCompute-Knoten oder Nachrichtenflüsse verfügbar.

Der vom Knoten verwendete Java-Code wird in einem Eclipse Java-Projekt gespeichert.

Der Java-Code, den Sie für den Zugriff und die Bearbeitung der Nachrichtendaten verwenden, kann mit einem der folgenden Programmierstile codiert werden:
  • Java-Plug-in-API
  • Java Architecture for XML Binding (JAXB)
  • Document Object Model (DOM)

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

Symbol für Rechenknoten

Diesen Knoten in einem Nachrichtenfluss verwenden

Der JavaCompute-Knoten verwendet das gleiche Ausführungsmodell wie die benutzerdefinierten Java-Knoten. Aus diesem Grund gelten die Einschränkungen und Annahmen, die mit benutzerdefinierten Java-Knoten verbunden sind, auch für den Java-Code, der für JavaCompute-Knoten entwickelt wurde (siehe Nachrichtenverarbeitungs- oder Sendeknoten in Java erstellen). Unabhängig von der Anzahl der im Fluss ausgeführten Threads (als Resultat zusätzlicher Instanzen oder mehrerer Empfangsknoten) wird nur eine Instanz des JavaCompute-Knotens erstellt. Aus diesem Grund muss der gesamte Java-Benutzercode threadsicher und simultan verwendbar sein. Sie finden weitere Informationen hierzu in den Abschnitten Ausführungsmodell für benutzerdefinierte Erweiterungen und Hinweise zum Threading bei benutzerdefinierten Erweiterungen.

Klicken Sie doppelt auf den JavaCompute-Knoten, um den Assistenten Neue Java-Rechenknotenklasse zu öffnen. Der Assistent führt Sie durch die Erstellung eines neuen Java-Projekts und einer Java-Klasse, die einen Gerüstcode enthält. Dieser Gerüstcode wird in einem Java-Editor angezeigt. Weitere Informationen zum Erstellen von Java-Code für einen JavaCompute-Knoten und Beispiele zu dem Gerüstcode oder zur Schablone, die bereitgestellt wurden, finden Sie unter Java-Code für einen JavaCompute-Knoten erstellen. Wenn Sie nicht zum ersten Mal doppelt auf den Knoten geklickt haben, wird der Java-Code angezeigt.

Die Klasse 'MbJavaComputeNode' enthält zwei Methoden, die Sie überschreiben können: onInitialize() und onDelete(). Soll der Knoten Bereinigungen durchführen (wie beispielsweise das Schließen von Sockets), müssen Sie eine Implementierung der Methode onDelete einfügen:
public void onDelete()
{
  // bei Bedarf Knotenbereinigung ausführen
}
Die Methode onInitialize() wird während der Implementierung oder beim Start des Brokers aufgerufen. In ersterem Fall wird die Methode vor der Festschreibung der Implementierung aufgerufen. Andere Knoten können bei ihrer Initialisierung Ausnahmebedingungen auslösen; daher kann der Nachrichtenfluss auch dann nicht implementiert werden, wenn die Methode onInitialize() für diesen Knoten erfolgreich ist. Löst die Methode onInitialize() eine Ausnahmebedingung aus, kann der Nachrichtenfluss entweder nicht implementiert oder nicht gestartet werden. Daher sollten Vorgänge, die immer erfolgreich sind oder immer fehlschlagen, während der Methode onInitialize() ausgeführt werden. Der Broker wird den Nachrichtenfluss erst wieder starten, nachdem der Broker erneut gestartet wurde. Muss eine externe Verbindung initialisiert werden, die unter Umständen wiederholt werden muss, sollte dies beim Passieren der ersten Nachricht durch den Nachrichtenfluss geschehen, damit der Nachrichtenfluss die Transaktion bei Bedarf wiederholen kann.
Das folgende Beispiel zeigt, wie dieser Knoten verwendet wird.

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.

Java angeben

Codieren Sie Java-Anweisungen, um das Verhalten des JavaCompute-Knotens anzupassen. Sie können den Knoten beispielsweise so anpassen, dass er unter Verwendung einer Eingabenachricht oder eines Datenbankinhalts (unverändert oder bearbeitet) neue Ausgabenachrichten erstellt. Beispiel: Sie möchten einen Wert in der Eingabenachricht modifizieren, indem Sie einen Wert aus einer Datenbank hinzufügen. Das Ergebnis soll in einem Feld in der Ausgabenachricht gespeichert werden.

Codieren Sie die gewünschte Java-Anweisung in einer Java-Datei, die dem JavaCompute-Knoten zugeordnet ist.

Wenn für den Knoten noch keine Java-Datei vorhanden ist, klicken Sie mit der rechten Maustaste auf den JavaCompute-Knoten und anschließend auf Open Java (Java öffnen), um eine neue Java-Datei zu erstellen und in der Editoransicht zu öffnen. Wenn die Datei bereits vorhanden ist, klicken Sie neben der Eigenschaft Java-Klasse auf Durchsuchen, um das Fenster Auswahl der JavaCompute-Knoten anzuzeigen. Sobald Sie das erste Zeichen in das Feld Auswählen eingegeben haben, werden mit diesem Zeichen übereinstimmende Java-Klassen angezeigt. Im Suchbegriff können Sie auch einen Stern (*) für ein beliebiges Zeichen eingeben, wie z. B. a*b. Wählen Sie die entsprechende Java-Klasse aus und klicken Sie auf OK.

Einschränkung: Versuchen Sie nicht, auf Basis des Java-Codes eine weitere Instanz eines JavaCompute-Knotens zu erstellen; dies wird nicht unterstützt.

Terminals und Eigenschaften

Nachdem Sie eine Instanz des JavaCompute-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie den Knoten konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Um eine Instanz eines JavaCompute-Knotens einer Java-Klasse zuzuordnen, müssen Sie die Eigenschaften des Knotens konfigurieren. Die Knoteneigenschaften werden in der Eigenschaftenansicht angezeigt. Alle verbindlichen Eigenschaften, für die Sie einen Wert eingeben müssen (d. h. Eigenschaften ohne definierten Standardwert), sind mit einem Sternchen gekennzeichnet.

In der folgenden Tabelle werden die JavaCompute-Knotenterminals beschrieben .

Terminal Beschreibung
Eingangsterminal (In) Das Eingabeterminal, das eine Nachricht zur Verarbeitung durch einen Knoten annimmt
Fehlerterminal (Failure) Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn während der Verarbeitung ein Fehler auftritt. (Selbst wenn die Eigenschaft Auswerten festgelegt ist, werden Nachrichten, die an das Fehlerterminal des Knotens weitergeleitet werden, nicht ausgewertet.)
Ausgang Das Ausgabeterminal, an das die umgewandelte Nachricht geleitet wird.
Alternative Ein alternatives Ausgabeterminal zum Ausgangsterminal, an das die umgewandelte Nachricht weitergeleitet werden kann.

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 JavaCompute-Knotens beschrieben.

Eigenschaft O K Standardwert Beschreibung
Knotenname Nein Nein Der Knotentyp: JavaCompute Der Name des Knotens.
Kurzbeschreibung Nein Nein   Kurze Beschreibung des Knotens.
Langbeschreibung Nein Nein   Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt.

In der folgenden Tabelle werden die grundlegenden Eigenschaften für den JavaCompute-Knoten beschrieben.

Eigenschaft O K Standardwert Beschreibung
Java-Klasse Ja Nein Ohne Der Name der Java-Klasse, die in diesem Knoten verwendet wird. Dieser Name muss sich in der Liste mit den Java-Klassen befinden, die sich im Projektverweis für das Nachrichtenbrokerprojekt befinden.

Zur Auswahl einer bereits vorhandenen Datei klicken Sie auf Durchsuchen. Sobald Sie das erste Zeichen in das Feld Auswählen eingegeben haben, werden mit diesem Zeichen übereinstimmende Java-Klassen angezeigt. Im Suchbegriff können Sie auch einen Stern (*) für ein beliebiges Zeichen eingeben, wie z. B. a*b. Wählen Sie die entsprechende Java-Klasse aus und klicken Sie auf OK.

Java-Klassenladeservice Nein Ja Ohne Der Name des konfigurierbaren JavaClassLoader-Service, der in diesem Knoten verwendet wird. Wenn kein Name angegeben und ein konfigurierbarer JavaClassLoader-Service mit dem gleichen Namen wie die Ausführungsgruppe vorhanden ist, wird dieser im Knoten verwendet. Andernfalls wird kein konfigurierbarer JavaClassLoader-Service verwendet.

Alle Knoten in der Ausführungsgruppe, die den gleichen konfigurierbaren JavaClassLoader-Service angeben, verwenden die gleiche Instanz des Klassenladeprogramms. Entsprechend verwenden alle Knoten die gleiche speicherinterne Version der Klassen, einschließlich des Zugriffs auf die gleichen statischen Variablen.

Der Abschnitt Klassen für JavaCompute-Knoten laden enthält weitere Informationen hierzu.

In der folgenden Tabelle werden die Eigenschaften der Parser-Optionen für den JavaCompute-Knoten beschrieben.

Eigenschaft O K Standardwert Beschreibung
XMLNSC-Kompaktparser für XMLNS-Domäne verwenden Nein Nein Nicht ausgewählt Durch Festlegung dieser Eigenschaft wird im MQRFH2-Header der ausgehenden Nachricht der Parser XMLNS statt des Parsers XMLNSC angegeben. Dies bedeutet, dass eine externe Anwendung nicht geändert werden muss. Wenn ausgehende Nachrichten keine MQRFH2-Header enthalten, hat diese Eigenschaft keine Auswirkungen.

In der folgenden Tabelle werden die Auswertungseigenschaften des JavaCompute-Knotens beschrieben.

Durch die Festlegung der Auswertungseigenschaften können Sie festlegen, wie die vom JavaCompute-Knoten generierte Nachricht ausgewertet werden soll. Diese Eigenschaften führen nicht dazu, dass die Eingabenachricht ausgewertet wird. Falls diese Auswertung erforderlich ist, wird davon ausgegangen, dass die Auswertung bereits durch den Empfangsknoten oder einen vorhergehenden Auswertungsknoten ausgeführt wurde. Weitere Informationen finden Sie unter Nachrichten überprüfen und Auswertungseigenschaften.

Eigenschaft O K Standardwert Beschreibung Eigenschaft des Befehls mqsiapplybaroverride
Auswerten Nein Ja Keines Durch diese Eigenschaft wird gesteuert, ob eine Auswertung stattfindet und welche Nachrichtenbereiche ausgewertet werden. Gültige Werte sind Keine, Inhalt und Wert, Inhalt und Übernehmen. validateMaster
Fehlerbehebungsmaßnahme Nein Nein Ausnahme Durch diese Eigenschaft wird gesteuert, was beim Fehlschlagen der Auswertung geschieht. Diese Eigenschaft kann nur festgelegt werden, wenn Sie Auswerten auf Inhalt oder Inhalt und Wert setzen. 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:04


ReferenzthemaReferenzthema | Version 8.0.0.5 | ac20805_