1

我有一大套规则,当我执行时

KieSession ksession = kc.newKieSession(sessionName);

这需要很长时间。我想重用 kiesession。怎么可能做到这一点?我的输入记录一次一个,而不是一批。

可用的文档很少。.

4

1 回答 1

1

这是示例代码。
我认为这可能对其他人有用。我发现当我必须处理大批量时,最好的方法是尽可能一次处理一堆记录。然后缓存kiesession。(不要调用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 回答