Questo esempio indica come è possibile rendere il codice esterno (come le classi Java) e gli oggetti esterni accessibili alle espressioni. Un oggetto esterno è un oggetto che un'applicazione crea per comunicare con le espressioni.
Prima di poter accedere al codice di accesso esterno da un'espressione, è necessario rendere il codice accessibile alle espressioni.
L'importazione è un modo specifico del linguaggio di programmazione per rendere il codice esterno accessibile alle espressioni. L'elemento <import> contiene un tipo speciale di espressione che specifica i moduli esterni (come le classi Java) da importare per essere utilizzati in altre espressioni all'interno delle regole. Un'importazione può essere definita sul livello della serie di regole o di un blocco di regole.
<import expressionLanguage="java"> import com.ibm.act.sample.StaticHelper; import com.ibm.act.test.Queue; </import>
Sebbene l'uso del nome classe completo non è richiesto nell'istruzione import, è necessario specificare il nome completo per evitare un tempo di compilazione esteso. Ad esempio la classe Java deve essere specificata come com.ibm.act.sample.StaticHelper piuttosto che come com.ibm.act.sample.* o com.ibm.act.*.
<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>