82.2. 将事实声明为事件
您可以将事实声明为 Java 类或 DRL 规则文件中的事件,以便决策引擎在复杂的事件处理过程中将事实处理为事件。您可以将事实声明为基于间隔的事件或时间点事件。基于间隔的事件具有持续时间,并在决策引擎的工作内存中保留,直到其持续时间被宽松为止。点事件没有持续时间,基本上是基于间隔的事件,持续时间为零。
�程
对于 Java 类或 DRL 规则文件中的相关事实类型,请输入 @role (event) metadata tag 和 parameter。@role metadata 标签接受以下两个值:
-
事实:(默认)宣布类型作为常规事实 -
Event: Declares 类型作为事件
例如,以下片段声明库存代理应用程序中的 StockPoint 事实类型必须作为事件处理:
将事实类型声明为事件
import some.package.StockPoint
declare StockPoint
@role( event )
end
如果 StockPoint 是 DRL 规则文件中声明的事实类型,而不是在预先存在的类中声明事件,您可以在应用程序代码中声明事件:
在命令行中声明事实类型,并将其分配到事件角色
declare StockPoint
@role( event )
datetime : java.util.Date
symbol : String
price : double
end