이 예제는 외부 코드(예: Java™ 클래스) 및 외부 오브젝트에서 표현식에 액세스를 가능하게 하는 방법을 보여줍니다. 외부 오브젝트는 어플리케이션과 표현식과의 통신을 위해 작성된 오브젝트입니다.
표현식에서 외부 코드에 액세스하려면 먼저 코드가 표현식에 액세스 가능해야 합니다.
가져오기는 프로그래밍 언어를 사용하여 외부 코드를 표현식에 액세스 가능하게 합니다. <import> 요소에는 규칙 내의 다른 표현식에서 사용하기 위해 가져오기할 외부 모듈(예: Java 클래스)을 지정하는 특수 유형의 표현식이 포함됩니다. 가져오기는 규칙 세트나 규칙 블록 레벨에서 정의할 수 있습니다.
<import expressionLanguage="java"> import com.ibm.act.sample.StaticHelper; import com.ibm.act.test.Queue; </import>
import 문에서는 전체 클래스 이름을 사용할 필요는 없지만 컴파일 시간을 줄이려면 전체 이름을 지정해야 합니다. 예를 들어, Java 클래스는 com.ibm.act.* 또는 com.ibm.act.sample.*가 아닌 com.ibm.act.sample.StaticHelper로 지정해야 합니다.
<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>