我是流口水的新手。我使用了流口水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”规则。请帮我解决这个问题。
答案 0 :(得分:-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
由于