Events 正在查找事件序列的drools bassd规则示例

Events 正在查找事件序列的drools bassd规则示例,events,sequence,drools,complex-event-processing,Events,Sequence,Drools,Complex Event Processing,我尝试了几种不同的格式,但我感兴趣的是在a的事件跟在B之后,并且序列中的下一个集合直到前一个序列结束才开始的情况下查找匹配项,如 rule x1 when $e1 : Event( eventCode == "NMG_ESO 15", text contains "Exception Time") $e2 : Event( this after $e1, eventCode == "NMG_DET 57", text contains "Exception

我尝试了几种不同的格式,但我感兴趣的是在a的事件跟在B之后,并且序列中的下一个集合直到前一个序列结束才开始的情况下查找匹配项,如

rule x1
when
  $e1 : Event( eventCode == "NMG_ESO 15", text contains "Exception Time")
  $e2 : Event( this after $e1,
               eventCode == "NMG_DET 57", text contains "Exception Time")
then ... end
当第一个NMG_DET 57在NMG_ESO 15之后到达时触发。它还将为下一个NMG_DET 57开火。现在由您提供更精确的要求,并相应地处理第一场比赛。也许您必须收回$31和$e2,以便引擎准备好检测另一对,或者不这样做


您可以轻松地将其扩展到连续的三个事件。同样,在第一场比赛之后,你必须决定应该发生什么。

你所说的e1:Event…->…`-箭头不是有效的运算符。-请更清楚地解释为什么要对事件运行查询。您如何知道何时运行针对一个特定事件和另一个事件的查询?另外,请澄清您所说的按顺序查询的含义。你是说这三个依次发生的$e2、$e3、$e4事件吗?中间什么都没有?只有一个三元组或任何这样的三元组?是的-我正在尝试为序列中发生的事件运行模式匹配,中间没有任何内容。是的,$e2,$e3,$e4是按顺序发生的。我也会对给定时间参数内的序列感兴趣。嗯,听起来像是现在的规则-而不是查询,这没有多大意义。嗨,是的,你是对的-我称之为查询没有多大意义,对不起!但样品看起来完全正确。嗨!流口水的新手。这需要两个事件还是三个事件都在KIE会话中?谢谢@不要把问题附加在旧的答案上,问一个新的问题,要有足够的细节来说明你真正想知道的我不知道你在问什么,主要是因为我不知道你这是什么意思。