Я могу кэшировать 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
Другие вопросы по тегам