流口水时间规则

时间:2013-03-03 17:20:45

标签: drools complex-event-processing drools-fusion

我是Drools的新手。在这里,我试图生成一个通知,如果一个进程运行的时间超过一段时间 - 让我们说5分钟。

为了实现上述目的,我在DRL文件中编写以下代码。但它似乎没有起作用。

drl文件

declare Message
  @role(event) 
end 

rule "RULE 3" 
 when
   $message: Message(msgtext == "1st message") over window:time( 5m ) from entry-point entryone
 then
    System.out.println("RULE 3 (after 5 min of message event started): " +     $message.getMsgtext());
 end

在上面的.drl文件中,我声明了一个名为Message的事件。规则是检查msgtext是否为1st message并且它正在运行5分钟 - 如果是这种情况,我必须生成通知。在这个例子中,我只是打印结果。

提前致谢。我感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

很少要检查,

  • 将您的入口点名称放在引号
  • 没有时间限制是否有效(即只有消息: 消息(msgtext ==“第一条消息”)
  • 注意,这是检查消息“第一条消息”是否已经过 在最近5分钟内添加
  • 确保您处于流式模式

-hth