0

我是 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 分钟 - 如果是这种情况,我必须生成一个通知。在这个例子中,我只是打印结果。

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

4

1 回答 1

0

要检查的东西很少,

  • 将您的入口点名称放在引号中
  • 它是否在没有时间限制的情况下工作(即只有消息:Message(msgtext == "1st message")
  • 请注意,这是检查是否在过去 5 分钟内添加了消息“第一条消息”
  • 确保您处于直播模式

-hth

于 2013-03-11T20:39:17.377 回答