1

大量のルールがあり、実行するとき

KieSession ksession = kc.newKieSession(sessionName);

時間がかかる。キーセッションを再利用したいと思います。どうすればそれが可能ですか?私の入力レコードは一度に 1 つずつ来て、バッチではありません。

利用できるドキュメントはほとんどありません。.

4

1 に答える 1

1

これがサンプルコードです。
これは他の誰かにとって役立つかもしれないと思います。大きなバッチを処理する必要がある場合、可能であれば一度に多数のレコードを処理するのが最善の方法であることがわかりました。(dispose を呼び出さないでください!!) セットが完了したら、ファクト ハンドルを削除するだけです。

List<FactHandle> fhs = new ArrayList<FactHandle>();//store the fact handles
//for removing later
.....in a loop add one or multiple records
....
fhs.add(ksession.insert(prcRec));

...................................

for (FactHandle factHandle : fhs) {
            ksession.delete(factHandle);
        }//Delete the fact handles so that next batch can be handled
于 2014-01-30T15:56:13.153 に答える