// 引入 Drools 规则引擎依赖
// 在 pom.xml 中添加以下依赖
/*
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-core</artifactId>
<version>7.60.0.Final</version>
</dependency>
*/
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
// 定义一个简单的事实类
public class Person {
private String name;
private int age;
// 构造函数、getter 和 setter 方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
// 主类,用于启动规则引擎
public class RuleEngineExample {
public static void main(String[] args) {
// 初始化 KieServices
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("ksession-rules");
// 创建一个事实对象
Person person = new Person("John", 30);
// 将事实对象插入到工作内存中
kSession.insert(person);
// 触发所有匹配的规则
kSession.fireAllRules();
// 关闭会话
kSession.dispose();
}
}
// 规则文件 (rules.drl)
/*
package com.example.rules
rule "Check Age"
when
$person: Person( age > 18 )
then
System.out.println($person.getName() + " is an adult.");
end
*/
pom.xml
中添加了 Drools 规则引擎的核心依赖。Person
类,包含姓名和年龄属性。KieServices
获取规则引擎容器,并创建一个 KieSession
实例。Person
对象插入到工作内存中。fireAllRules()
方法来触发所有匹配的规则。rules.drl
,当 Person
的年龄大于 18 岁时,打印一条消息。上一篇:java获取项目根目录路径
下一篇:java int数值范围
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站