看来,Drools 在这里相当突出,所以我想我会问:
Drools 规则可以用于事件模式检测吗?
模式来自:"Event_x" SEQ/AND/OR "Event_z"
。下面的示例指示了所需的用法。使用先前已知的 ID 标识事件。
rule "Rule x"
when
Event1 SEQ/AND/OR Event2
then
System.out.println("Event1 SEQ/AND/OR Event2");
看来,Drools 在这里相当突出,所以我想我会问:
Drools 规则可以用于事件模式检测吗?
模式来自:"Event_x" SEQ/AND/OR "Event_z"
。下面的示例指示了所需的用法。使用先前已知的 ID 标识事件。
rule "Rule x"
when
Event1 SEQ/AND/OR Event2
then
System.out.println("Event1 SEQ/AND/OR Event2");
是的。“and”和“or”直接用作条件元素:
rule X when
Event1() and Event2()
...
rule Y when
Event3() or Event4()
它们显然可以组合、嵌套等...查看 Drools 文档了解详细信息。
在 Drools 5.4 之前,序列是使用诸如“之前”、“之后”等时间运算符定义的。例如:
rule Z when
$e1 : Event1() and $e2 : Event2( this after $e1 )
...
对于 Drools 5.5,计划了几种序列条件元素:
rule W when
Event1() -> Event2()
...
其中 -> 是后跟运算符,=> 严格遵循,等等。
细节:
https://community.jboss.org/wiki/EventSequencing#4_Definition_Sequence_Conditional_Elements