Show TOC

Implementierung von Java-FunktionenLocate this document in the navigation structure

Verwendung

Message-Mappings und Mapping-Vorlagen untertützen eine Vielzahl von Standardfunktionen , die im Datenfluss-Editor angeboten werden. Mit einer benutzerdefinierten Java-Funktion erweitern Sie den Umfang der dort angebotenen Funktionen um eigene, auf Ihre Anforderungen zugeschnittene Funktionen. Sie speichern Funktionen in Funktionsbibliotheken:

  • Lokale Funktionsbibliotheken sind Teil von Message-Mappings und Mapping-Vorlagen. Funktionen dieser Bibliotheken sind nur in dem zugehörigen Message-Mapping oder der zugehörigen Mapping-Vorlage sichtbar.

  • Von Message-Mappings oder Mapping-Vorlagen unabhängige Funktionsbibliotheken legen Sie als eigenen Objekttyp im ES Repository an. Die Funktionen dieser Funktionsbibliotheken können Sie in Message-Mappings oder Mapping-Vorlagen der gleichen oder einer überliegenden (lokalen) Funktionsbibliohtek verwenden (mit „(lokale) Funktionsbibliothek“ ist zusammenfassend die lokale als auch die unabhängige Funktionsbibliothek gemeint).

    Sie können die Methoden auch mittels der definierten Namen init() und cleanup() in (lokalen) Funktionsbibliotheken implementieren. Diese Methoden werden durch die Mapping-Laufzeit ausgeführt, bevor oder nachdem das gesamte Mapping-Programm aufgerufen wurde.

Funktionen anderer Java-Bibliotheken

Alle benutzerdefinierte Funktionen in (lokalen) Funktionsbibliotheken können auf folgende Objekte der Mapping-Laufzeit zugreifen:

Zugriff auf Standardobjekte in benutzerdefinierten Funktionen

Objekt

Verwendung

Container

Mit diesem Objekt können Sie Werte zwischenspeichern, die Sie beim nächsten Aufruf der gleichen benutzerdefinierten Funktion wieder auslesen wollen.

GlobalContainer

Mit diesem Objekt können Sie Werte zwischenspeichern, die Sie beim nächsten Aufruf einer beliebigen benutzerdefinierten Funktion des gleichen Message-Mappings wieder auslesen wollen.

AbstractTrace

Mit diesem Objekt können Sie einem Container Informationen für den Mapping-Trace während des Mappings übergeben, den sich Benutzer im Message-Monitoring anschauen können.

Sie können zusätzlich auf Funktionen von Standard-Java-Paketen oder importierten Archiven zugreifen (siehe auch: Verwendete Archive und Import-Anweisungen ).

Voraussetzungen

Sie haben entweder eine Funktionsbibliothek , ein Message-Mapping oder eine Mapping-Vorlage im ES Repository angelegt. Der Editor für Message-Mappings und der Editor für Mapping-Vorlagen hat eine Registerkarte Funktionen , deren Funktionen der ES Builer in einer Funktionsbibliothek speichert, die lokal im Message-Mapping beziehungsweise in der Mapping-Vorlage sichtbar ist. Die Oberfläche dieser Registerkarte ist die gleiche wie die von Funktionsbibliotheken.

Prozess
  1. Tragen Sie eine neue Funktion in der Funktionsübersicht ein und legen Sie auf der Registerkarte Eigenschaften deren Funktionseigenschaften fest (siehe auch: Funktionsübersicht und Funktionseigenschaften ).

    Bei Message-Mappings und Mapping-Vorlagen können Sie im Datenfluss-Editor alternativ Neue Funktion anlegen wählen. Sie legen dann die Funktionseigenschaften und den Quelltext der Funktion in einem Dialogfenster fest. Die Funktion wird automatisch in die lokale Funktionsbibliothek übernommen.

    Für die Bearbeitung der Funktion wird im folgenden davon ausgegangen, dass Sie sich auf der Registerkarte Funktionen beziehungsweise in einer Funktionsbibliothek befinden.

  2. Beachten Sie die Einführungshinweise für Java-Mappings , die ebenso für Java-Funktionen in (lokalen) Funktionsbibliotheken gelten.

  3. Erfassen Sie den Quelltext der Funktion im Quelltext-Editor rechts unten im Funktionsbibliothek-Editor. Sie können alternativ auch die zur Funktionsbibliothek gehörende Klasse exportieren, um sie mit einem externen Werkzeug zu bearbeiten (siehe auch: Funktionsbibliotheken ).

  4. Beachten Sie für Funktionen der Ausführungsart Alle Werte eines Kontext oder Alle Werte einer Queue die Bedeutung der Werte und den konsistenten Aufbau von Queues (siehe auch: Erweiterte benutzerdefinierte Funktionen ).

  5. Wenn Sie globale Variablen oder globale Hilfsmethoden für Ihre Java-Funktion benötigen, erfassen Sie diese im Qelltext-Editor für den Java-Bereich Attribute und Methoden .

  6. Geben Sie in Ihrer Java-Funktion einen Ergebniswert zurück. Java-Funktionen der Ausführungsart Einzelwerte müssen einen Ergebniswert zurückgeben, Java-Funktionen der Ausführungsart Alle Werte eines Kontext und der Ausführungsart Alle Werte einer Queue müssen ein Objekt vom Typ ResultList zurückgeben.

Ergebnis

Sie haben eine Java-Funktion in Ihrer Funktionsbibliothek implementiert.

Wenn es sich um eine lokale Funktionsbibliothek handelt, ist die Funktion unmittelbar im Datenfluss-Editor des Message-Mappings beziehungsweise im Datenfluss-Editor der Mapping-Vorlage in der Funktionskategorie sichtbar, die Sie der Java-Funktion in den Funktionseigenschaften zugewiesen haben.

  • Um die Java-Funktion auch in anderen Message-Mappings beziehungsweise Mapping-Vorlagen verwenden zu können, müssen Sie die Funktionen der lokalen Funktionsbibliothek in eine unabhängige Funktionsbibliothek übertragen (siehe auch: Funktionen einer lokalen Funktionsbibliothek kopieren ).

  • Wenn es sich bereits um eine unabhängige Funktionsbibliothek handelt, können Sie die Java-Funktion in jedem Message-Mapping oder jeder Mapping-Vorlage der gleichen oder einer übergeordneten Software-Komponentenversion verwenden (siehe auch: Java-Funktionen von Funktionsbibliotheken verwenden ).