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宣言されたという名前のイベントがあります。ルールは 5 分間実行されているかどうかをチェックmsgtext1st messageています。その場合は、通知を生成する必要があります。この例では、結果を出力しているだけです。

前もって感謝します。私はあなたの助けに感謝します。

4

1 に答える 1

0

チェックすることはほとんどありません、

  • エントリポイント名を引用符で囲みます
  • 時間の制約なしで機能しますか(つまり、メッセージのみ:Message(msgtext == "1st message")
  • これは、「最初のメッセージ」というメッセージが過去5分以内に追加されたかどうかを確認するためのものです。
  • ストリームモードになっていることを確認してください

-hth

于 2013-03-11T20:39:17.377 に答える