Verwenden Sie für die Arbeit mit Nachrichten unter Verwendung der Java™-Sprache den JavaCompute-Knoten.
Mit diesem Knoten können folgende Tasks ausgeführt werden:
Der vom Knoten verwendete Java-Code wird in einem Eclipse Java-Projekt gespeichert.
Der JavaCompute-Knoten befindet sich im Ablagefach Transformation der Palette und wird im WebSphere Message Broker Toolkit durch folgendes Symbol dargestellt:
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.
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.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.
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.
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. |
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. |