Наиболее эффективный способ запуска правил Drools - PullRequest
0 голосов
/ 08 января 2019

Пытается выучить слюни. Какой самый эффективный способ запустить слюни. Прямо сейчас у меня есть KieContainer Bean, и каждый раз, когда мне нужно выполнить правила, я делаю следующее.

KieSession kieSession = kieContainer.newKieSession();
kieSession.insert(record);
kieSession.fireAllRules();
kieSession.dispose();

Это правильный способ сделать это? Должен ли я создавать и использовать сеанс каждый раз? Можно ли повторно использовать сеанс?

РЕДАКТИРОВАТЬ: Если допустимо повторное использование сеанса, это кажется быстрее

FactHandle fact = kieSession.insert(record);
kieSession.fireAllRules();
kieSession.delete(fact);

1 Ответ

0 голосов
/ 09 января 2019

Повторное использование kieSession зависит от ваших общих или пользовательских сценариев. Если вы используете повторное использование, вы должны быть очень осторожны, чтобы все было удалено, и не осталось никаких предыдущих пользовательских вещей (включая факты, вставленные в правила и т. Д.).

Было бы намного безопаснее и подвержено ошибкам воссоздавать kieSession каждый раз.

...