决策表的使用方式与使用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