85.2. 将事实声明为事件
您可以将事实声明为 Java 类或 DRL 规则文件中的事件,以便决策引擎在复杂事件处理期间将事实作为事件处理。您可以将事实声明为基于间隔的事件或时间点事件。基于间隔的事件的时间,并在决策引擎的工作内存中保留一段时间,直到它们的持续时间可用为止。点内事件没有持续时间,基本上是基于 interval 的事件,且持续为零。
流程
对于 Java 类或 DRL 规则文件中的相关事实类型,请输入 @role(事件)
元数据标签和参数。@role
元数据标签接受以下两个值:
-
事实
:(Default)Declas 类型作为常规事实 -
事件
: 拒绝类型作为事件
例如,以下片段声明 stock broker 应用中的 StockPoint
事实类型必须作为事件进行处理:
将事实类型声明为事件
import some.package.StockPoint declare StockPoint @role( event ) end
如果 StockPoint
是 DRL 规则文件中声明的事实类型,而不是在预先存在的类中声明事件,您可以在应用程序代码中声明事件:
声明事实类型 in-line,并将它分配到事件角色
declare StockPoint @role( event ) datetime : java.util.Date symbol : String price : double end