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.

Zugriff auf den globalen Cache mithilfe eines JavaCompute-Knotens

Über einen JavaCompute-Knoten kann eine Interaktion mit einer Zuordnung im globalen Cache oder in einem externen WebSphere eXtreme Scale-Grid erfolgen.

Bevor Sie beginnen:
Über einen JavaCompute-Knoten können Daten in einer globalen Zuordnung gespeichert werden. Anschließend kann ein weiterer JavaCompute-Knoten erstellt werden, der Daten aus dem globalen Cache zur Verarbeitung oder Weiterleitung abrufen kann. Der JavaCompute-Knoten verwendet für den Zugriff auf den globalen Cache bzw. das externe Grid das Objekt 'MbGlobalMap'. Über diese Klasse können Zuordnungen abgerufen und Daten in eine Zuordnung eingereiht bzw. daraus abgerufen werden. Sie können eine Zuordnung nicht explizit erstellen, aber wenn Sie eine Zuordnung abrufen, die nicht vorhanden ist, wird die Zuordnung automatisch erstellt. Wenn von einem externen Grid eine globale Zuordnung eingeht, stellt die Methode getGlobalMap eine Verbindung zu dem Grid her, sofern noch keine besteht.

Interaktionen mit dem Cache erfolgen außerhalb der Nachrichtenflusstransaktion und werden unverzüglich festgeschrieben. Falls an einer dem mit dem Cache interagierenden Knoten nachgeordneten Stelle eine Ausnahme ausgelöst wird, werden die Cacheinteraktionen nicht rückgängig gemacht.

Die folgenden Schritte beschreiben die Vorgehensweise, mit der ein Nachrichtenfluss Daten zu einer Zuordnung hinzufügt und ein anderer Nachrichtenfluss die Daten aus der Zuordnung abruft.

  1. Erstellen Sie einen Nachrichtenfluss mit einem JavaCompute-Knoten.

    Sie können den JavaCompute-Knoten vor oder hinter einem MQOutput-Knoten platzieren. Im folgenden Beispiel wird der JavaCompute-Knoten hinter einem MQOutput-Knoten angeordnet. Somit kann der JavaCompute-Knoten die Nachrichten-ID der Ausgabenachricht verwenden.

    Die Abbildung zeigt einen MQInput-Knoten, der mit einem MQOutput-Knoten verbunden ist, welcher wiederum mit einem JavaCompute-Knoten verbunden ist.

  2. Klicken Sie doppelt auf den JavaCompute-Knoten. Der Assistent Neue Java-Rechenknotenklasse wird geöffnet.
  3. Geben Sie im Bereich Java-Rechenknotenklasse die entsprechenden Informationen an und klicken Sie auf Weiter. Sie können die Standardwerte akzeptieren, indem Sie auf Weiter klicken.
  4. Wählen Sie im Bereich Schablone für die Java-Rechenknotenklasse die entsprechende Schablone für Ihr Szenario aus und klicken Sie anschließend auf Fertigstellen.

    Im Editor wird die Java™-Schablonendatei geöffnet. Es ist angegeben, wo Sie eigenen Code hinzufügen können.

  5. Fügen Sie zum Abrufen einer Zuordnung aus dem eingebetteten Cache bzw., sofern noch keine vorhanden ist, zum Erstellen einer Zuordnung das Objekt 'MbGlobalMap' wie im folgenden Beispiel dargestellt hinzu. Das Objekt 'MbGlobalMap' wird auch in der Java-Plug-in-API-Dokumentation beschrieben.
    MbGlobalMap globalMap = MbGlobalMap.getGlobalMap("MyMap");
    In diesem Beispiel wird die Zuordnung "Meine Zuordnung" abgerufen. Ist die Zuordnung noch nicht vorhanden, wird sie erstellt. Alternativ können Sie bei Verwendung des eingebetteten Cache auch die Standardzuordnung verwenden. In diesem Fall geben Sie keinen Zuordnungsnamen an, wie im folgenden Beispiel dargestellt. Bei einer Verbindung mit einem externen Grid besteht keine Standardzuordnung. Sie müssen daher im externen Grid einen gültigen Zuordnungsnamen angeben.
    MbGlobalMap globalMap = MbGlobalMap.getGlobalMap();
    Der Cache verwendet dynamische WebSphere eXtreme Scale-Zuordnungen. Alle Mapnamen sind zulässig, mit Ausnahme von Namen, die mit SYSTEM.BROKER beginnen, da diese Namen für die Verwendung durch den Broker reserviert sind. Die Standardmap lautet SYSTEM.BROKER.DEFAULTMAP, diese Zuordnung können Sie verwenden oder löschen.
    Fügen Sie zum Abrufen einer Zuordnung aus einem externen Grid das Objekt MbGlobalMap hinzu und geben Sie den Namen der Zuordnung im externen Grid sowie den Namen des konfigurierbaren Service für die Verbindung mit dem Grid an:
    MbGlobalMap xc10Map = MbGlobalMap.getGlobalMap("MyMap.LUT","xc10Connection");
    Die Zuordnung 'MyMap.LUT' dieses Beispiels befindet sich in einem externen Grid auf einem XC10-Gerät. Der konfigurierbare Service für die Herstellung der Verbindung mit dem Grid heißt 'xc10Connection'.
  6. Optional: Geben Sie in Sekunden an, wie lange die Daten im globalen Cache verbleiben, bis sie automatisch entfernt werden.

    Diese Zeitspanne wird als Lebensdauer bezeichnet und beginnt ab der letzten Aktualisierung des Zuordnungseintrags. Sie geben diesen Zeitwert beim Abruf eines MbGlobalMap-Objekts an. Der Wert gilt für alle Cacheeinträge, die unter Verwendung dieses MbGlobalMap-Objekts erstellt werden. Ausführliche Anweisungen finden Sie im Abschnitt Daten aus dem globalen Cache entfernen.

  7. Um Daten in die Zuordnung einreihen zu können, müssen Sie in der Zuordnung wie im folgenden Beispiel dargestellt ein Schlüssel-/Wertepaar erstellen. Als Schlüssel und Werte werden primitive Java-Datentypen und -Zeichenfolgen unterstützt. Beim eingebetteten Grid können die Schlüssel auch Arrays aus Basiselementen oder Zeichenfolgen sein.
    globalMap.put(key, val);
  8. Speichern Sie den Nachrichtenfluss.
  9. Erstellen Sie einen Nachrichtenfluss mit einem JavaCompute-Knoten, um von einem anderen Fluss aus auf die gespeicherten Daten zugreifen zu können.

    So enthält beispielsweise der folgende Nachrichtenfluss einen JavaCompute-Knoten, der die entsprechenden Informationen aus der Zuordnung abruft und anschließend über einen MQReply-Knoten eine Antwortnachricht sendet.

    Die Abbildung zeigt einen MQInput-Knoten, der mit einem JavaCompute-Knoten verbunden ist, welcher wiederum mit einem MQReply-Knoten verbunden ist.

  10. Wiederholen Sie die Schritte 2, 3 und 4 und erstellen Sie auf diese Weise eine Java-Datei für den neuen JavaCompute-Knoten.
  11. Rufen Sie zunächst über das Objekt 'MbGlobalMap' die in Schritt 5 erstellte Zuordnung ab und rufen Sie dann die der Zuordnung in Schritt 6 hinzugefügten Daten ab. Wenn Sie wissen, dass es sich bei den abzurufenden Daten beispielsweise um eine Zeichenfolge handelt, geben Sie beim Abruf der Daten 'String' (Zeichenfolge) an, wie im folgenden Beispiel dargestellt.
    MbGlobalMap globalMap = MbGlobalMap.getGlobalMap("MeineZuordnung");
    ...
    String val = (String)globalMap.get(key);
    Nachfolgendes Beispiel zeigt, wie die Daten, die Sie einer Zuordnung in einem externen Grid hinzugefügt haben, abgerufen werden:
    MbGlobalMap xc10Map = MbGlobalMap.getGlobalMap("MyMap.LUT","xc10Connection");
    ...
    String val = (String)xc10Map.get(key);

    Damit der Cache nicht zu groß wird, können Sie nach erfolgter Verarbeitung eines Schlüssel-Werte-Paars die betreffenden Daten über die Methode 'remove()' aus der Zuordnung löschen.

    Mit der Inhaltshilfe können die verfügbaren Optionen beim Erstellen von Java-Code aufgelistet werden. Stellen Sie für den Zugriff auf die Inhaltshilfe den Cursor auf den Einfügepunkt und klicken Sie dann entweder auf Bearbeiten > Inhaltshilfe oder drücken Sie die Tastenkombination 'Strg+Leerschritt'. Wenn Sie beispielsweise "MeineZuordnung" eingeben und anschließend die Tastenkombination 'Strg+Leerschritt' drücken, können Sie aus einer Liste mit Optionen auswählen, zu denen auch die folgenden Aktionen gehören:
    • remove (entfernen) - entfernt ein einzelnes Objekt aus einem globalen Cache
    • containsKey (enthält Schlüssel) - gibt an, ob in einer Zuordnung ein Schlüssel vorhanden ist
    • update (aktualisieren) - aktualisiert ein vorhandenes Objekt
    Alle verfügbaren Optionen sind in der Javadoc für die Java-Plug-in-API dokumentiert (siehe Message Broker-Java-API). Sie können auf die Javadoc für die Java Plugin API auch über das Startmenü zugreifen (Start > Programme > IBM WebSphere Message Broker 8.0.0.0 > Java-Programmierung-APIs > Java Plug-in - API-Dokumentation).
  12. Speichern Sie den Nachrichtenfluss.
  13. Implementieren Sie Ihre Nachrichtenflüsse.
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

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

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:31


TaskthemaTaskthema | Version 8.0.0.5 | bc23770_