1

看来,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");
4

1 回答 1

1

是的。“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

于 2012-07-09T17:34:07.320 回答