In diesem Beispiel wird gezeigt, wie Sie externen Code (wie z. B. Java-Klassen) sowie externe Objekte für Ausdrücke zugänglich machen können. Ein externes Objekt ist ein Objekt, das von einer Anwendung erstellt wird, um mit Ausdrücken zu kommunizieren.
Bevor Sie auf externen Code von einem Ausdruck zugreifen können, müssen Sie diesen Code für Ausdrücke zugänglich machen.
Ein Import ist eine programmiersprachenspezifische Möglichkeit, externen Code für Ausdrücke zugänglich zu machen. Das Element <import> enthält einen speziellen Ausdruckstyp, der die externen Module (wie z. B. Java-Klassen) angibt, die für die Verwendung in anderen Ausdrücken in Regeln importiert werden sollen. Ein Import kann auf der Ebene des Regelsatzes oder eines Regelblocks definiert werden.
<import expressionLanguage="java"> import com.ibm.act.sample.StaticHelper; import com.ibm.act.test.Queue; </import>
Obwohl die Verwendung des vollständigen Klassennamens in der Importanweisung nicht erforderlich ist, sollten Sie den vollständigen Namen angeben, um eine lange Kompilierzeit zu vermeiden. Zum Beispiel sollte die Java-Klasse als com.ibm.act.sample.StaticHelper an Stelle von com.ibm.act.sample.* oder com.ibm.act.* angegeben werden.
<onDetection> <action expressionLanguage="java"> StaticHelper.pageAdministrator("Too many login attempts for " + act_event.getAttribute("userID")); </action> </onDetection>
<onDetection> <action expressionLanguage="java"> Queue myQueue = (Queue)act_lib.getExternalContext("OutputQueueOne"); myQueue.enqueue(act_event); </action> </onDetection>