запущено только одно правило, не могу понять, почему выполняются не все правила, объявленные в файле drl

avatar
Vaibhav
8 апреля 2018 в 12:27
86
1
-1

Я новичок в пускании слюней. Я использую drool 7. Вот мое правило, которое я записал в файле drl.

rule "initListFact" dialect "java" when     not List() then     insert( new ArrayList() ); end 

rule "TermAndConditionRequest_0_NOTNULL" when obj : TermAndConditionRequest(candidateId == null); result:ConstraintValidationResult(); В java я создал объект kieSession, затем вставил объект класса и запустил правила: -

kieSession.insert(classObject);
    kieSession.insert(constraintValidationResult);
    List error = new ArrayList<String>();
    kieSession.setGlobal("errorList", error);
    kieSession.addEventListener(new DroolEventListener());
    int i = kieSession.fireAllRules();

Я хочу выполнить все правила, которые я объявил в файле .drl, но будет выполняться только правило "initListFact". Пожалуйста, помогите мне с этим.

Источник

Ответы (1)

avatar
Vaibhav
8 апреля 2018 в 14:25
-1

Я нашел решение, почему он не работает с spring-boot, и ни одно правило не будет запущено, потому что Drools не работает с spring-boot-devtools.

Если вы добавите в pom.xml следующее, никакие правила не будут запущены в Drools.

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId></dependency>

если вы закомментируете это, то правила будут корректно запускаться в Drools.

Пожалуйста, перейдите по ссылке для получения дополнительной информации:https://issues.jboss.org/browse/DROOLS-1540

Спасибо