springboot+drools 实现方案以及业务步骤
时间: 2023-07-08 21:06:56 浏览: 123
实现方案:
1. 在SpringBoot项目中引入Drools依赖,可以使用以下Maven坐标:
```
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>7.59.0.Final</version>
</dependency>
```
2. 创建规则文件,Drools规则文件可以使用DRL语言编写,也可以使用Excel表格编写,这里我们以DRL文件为例。规则文件通常包括规则名称、规则条件和规则结果三个部分。例如:
```
rule "rule1"
when
$p : Person(age > 18, age < 60)
then
$p.setDiscount(0.9);
end
```
这个规则的名称是“rule1”,它的条件是年龄在18到60岁之间的人,结果是将折扣设置为0.9。
3. 在SpringBoot项目中创建Drools规则引擎对象,使用KieServices和KieContainer创建KieSession对象,然后使用KieSession对象加载规则文件和事实对象,并执行规则。
```
KieServices kieServices = KieServices.Factory.get();
KieContainer kieContainer = kieServices.getKieClasspathContainer();
KieSession kieSession = kieContainer.newKieSession();
Person person = new Person("张三", 25);
kieSession.insert(person);
kieSession.fireAllRules();
```
这里我们创建了一个Person对象,并将其插入到KieSession中,然后执行规则。
4. 根据规则执行结果进行业务处理。
业务步骤:
1. 定义业务规则,包括规则名称、规则条件和规则结果。
2. 在SpringBoot项目中创建Drools规则引擎对象,使用KieServices和KieContainer创建KieSession对象。
3. 将需要进行规则匹配的事实对象插入到KieSession中。
4. 执行规则,Drools会自动匹配规则并执行符合条件的规则。
5. 根据规则执行结果进行业务处理。
阅读全文