2016-05-14 7 views
0

私たちはdrools 6(Fusion)を使用した非常に複雑なソリューションで作業しており、時間の経過とともに相関結果の間に作成されたオブジェクトを読み取る最良の方法についてご意見をお待ちしています。 私の最初の基本的なアプローチは、特定の時間ごとにワーキングメモリを読み込み、新しいオブジェクトを探してそれらを外部サービス(REST)に報告することでした。 AgendaEventListenerは、 "最良の"アプローチではないようです。作業メモリに挿入されているオブジェクトのほとんどが気にならないので、DRL内の特定の "オブジェクト"を注入するのが最善の方法です。これは良いアプローチですか?Drools 6 Fusion Notification

答えて

0

あなたにはかなりのオプションがあります。私の好みの降順で:

  1. おそらく、最小のLOCを必要とする解決策は、おそらくAgendaEventListenerです。他のタスクにも役立ちます。負の側にあるのは、追加のメソッド呼び出しと、挿入された事実ごとのクラステストだけです。ピーナッツ。
  2. DRL関数で挿入マクロをラップし、クラスXの挿入ファクトをグローバルリストに収集できます。ここで問題になるのは、KieContextを関数呼び出しに2番目のパラメータとして渡す必要があることです。
  3. クラスXオブジェクトの作成が必然的にWMへの挿入にリンクされている場合は、新しいオブジェクトのレジストリをファクトリメソッド(またはコンストラクタ)で行うクラスX内の静的Listに追加できます。
  4. 私は、リスナー(#1)よりもはるかに多くのサイクルを必要とし、すでにRESTされているXオブジェクトのセットを維持するためのオーバヘッドのオーバヘッドが必要なため、
+0

ありがとうございますLauneさんの提案をありがとうございます。私は#4が最善の方法ではないとも考えています:D。私は、一番最初に、より少ないリソースを消費するものであることを#2にしようとします。 –

関連する問題