(私はDroolsでの作業に少し慣れていないので、これが単純な質問である場合は失礼します)。
ルールのリアクティブな実行にDroolsを使用したいのですが、これは、挿入されている「ファクト」を「イベント」インスタンスと見なすことができることを意味します。ただし、イベントを受信するとすぐにルールを実行できるようにこれを実行する必要があります。ただし、ルールが複数のイベントに依存している可能性がある場合、以前のイベントを記憶するように作業メモリーを構成するにはどうすればよいですか。非常に単純な例を考えてみましょう。
次のルールがあるとします。
- when (E1) do A1
- when (E2) do A2
- when (E1,E2) do A3
次に、次のように時間が経過した場合、実行されるルールに従います。例:
- t=1 , E1 happens => A1 fired
- t=2 , E2 happens => A2 fired + A3 fired
私が抱えている問題は、ksession.fireAllRules()
挿入のたびに呼び出すと、作業メモリーが以前のすべてのイベントを忘れてしまうことです。私が望むことを達成するための最良の方法は何ですか?