决策表的使用方式与使用drl规则文件基本一致,好处是可以把一些相关的规则以表格方式展示,便于阅读及维护
1.maven依赖
<!-- 决策表 -->
<dependency><groupId>org.drools</groupId><artifactId>drools-decisiontables</artifactId>
</dependency>
2.定义决策表
3.kmodule.xml使用决策表
<!--决策表--><kbase name="PersonAgeKB" packages="org.drools.examples.personTemp"><ksession name="PersonAgeKS"/></kbase>
4.使用
KieContainer kc = KieServices.Factory.get().getKieClasspathContainer();KieSession ksession = kc.newKieSession("PersonAgeKS");Person p1 = new Person("奥巴马", 68);Person p2 = new Person("普京", 32);Person p3 = new Person("朴槿惠", 18);Person p4 = new Person("川普", 10);Person p5 = new Person("金正恩", 66);ks.insert(p1);ks.insert(p2);ks.insert(p3);ks.insert(p4);ks.insert(p5);int count = ks.fireAllRules();System.out.println("总执行了" + count + "条规则------------------------------");System.out.println("after p1 : " + p1);System.out.println("after p2 : " + p2);System.out.println("after p3 : " + p3);System.out.println("after p4 : " + p4);System.out.println("after p4 : " + p5);ks.dispose();
参考:
https://blog.csdn.net/u012373815/article/details/53821502?locationNum=1&fps=1
https://github.com/527515025/DroolsExample