Este exemplo indica como tornar código externo (por exemplo, classes Java) e objetos externos acessíveis às expressões. Objeto externo é aquele que o aplicativo cria para se comunicar com as expressões.
Antes de poder acessar o código externo de uma expressão, é necessário torná-lo acessível às expressões.
Uma importação é uma maneira específica da linguagem de programação tornar código externo acessível a expressões. O elemento <import> contém um tipo especial de expressão que especifica os módulos externos (por exemplo, classes Java) a serem importados para utilização em outras expressões nas regras. Uma importação pode ser definida no nível do conjunto de regras ou do bloco de regra.
<import expressionLanguage="java"> import com.ibm.act.sample.StaticHelper; import com.ibm.act.test.Queue; </import>
Embora o uso do nome completo da classe não seja necessário na instrução de importação, é necessário especificar o nome completo para evitar um tempo longo de compilação. Por exemplo, a classe Java deve ser especificada como com.ibm.act.sample.StaticHelper em vez de com.ibm.act.sample.* ou 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>