Я могу кэшировать kiesession в слюни эксперт?
У меня есть большой набор правил, и когда я выполняю
KieSession ksession = kc.newKieSession(sessionName);
Это займет много времени. Я хотел бы повторно использовать kiesession. Как это возможно сделать? Мои входные записи поступают по одной, а не партиями.
Доступно очень мало документации.,
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