本示例说明如何使外部代码(例如 Java™ 类)和外部对象可由表达式访问。外部对象是应用程序创建用来与表达式进行通信的对象。
从表达式访问外部代码之前,必须使该代码可由表达式访问。
导入是特定于编程语言的方式,用于使外部代码可由表达式访问。<import> 元素中包含特殊类型的表达式,该表达式指定要导入供规则内的其他表达式使用的外部模块(例如 Java 类)。导入可在规则集或规则块级别定义。
<import expressionLanguage="java"> import com.ibm.act.sample.StaticHelper; import com.ibm.act.test.Queue; </import>
虽然在导入语句中可以不使用完整的类名,但为了避免很长的编译时间,您应当指定完整的名称。 例如,应将 Java 类指定为 com.ibm.act.sample.StaticHelper,而不是 com.ibm.act.sample.* 或 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>