Подтвердить что ты не робот

Drools - Возможность определять правила во время выполнения?

Можно динамически определять правила во время выполнения? Также измените набор правил во время выполнения.

Например,

at time = t_1 the ruleset is { R1, R2, R3 } 
at time = t_2 the ruleset is { R1, R3, R4 } 
..... 

R1, R2 - это правила, определенные во время выполнения.

Спасибо.

4b9b3361

Ответ 1

Да, Drools полностью динамичен. Вы можете добавлять/удалять/заменять правила во время выполнения. Все существующие сеансы автоматически обновляются, чтобы сохранить согласованность. Проверьте документацию /javadoc:

http://www.jboss.org/drools/documentation

И здесь вы можете увидеть некоторые интеграционные тесты:

DynamicRulesTest.java

Ответ 2

Прочитайте документацию и проверьте тесты "KnowledeAgent", чтобы узнать, что вы можете сделать и как вы можете это сделать.

Ответ 3

В Drools 5 вам просто нужно изменить KnowledgeBase, он будет неявно обновлять KnowledgeSession. Именно об этом говорят вам интеграционные тесты. Для этого вам не нужен KAgent.