Drools
Drools基础语法
- package:包名,package对应的不一定是真正的目录,同一个包下的drl文件可以互相访问
- import : 用于导入类或者静态方法
- global:全局变量
- function:自定义函数
- query:查询
- rule end:规则体
- no-loop 避免死循环
- retract函数:将对象从工作内存中移除
属性部分
-
salience:执行优先级,控制规则执行顺序,值大优先执行
-
enable:作用是定义一个规则是否可用,默认为true
-
dialect:作用是用来定义规则当中使用的语言类型
-
timer:作用是可以通过定时器的方法规定执行时间
-
agenda-group:作用是agenda-group属性值是一个字符串,可以将规则分为若干个AgendaGroup,默认情况下,引擎在调用这些设置了agenda-group属性的规则的时候需要指定某个AgendaGroup得到Focus(焦点),这样位于该AgendaGroup当中的规则才会被触发执行,否则将不执行 如果在规则中直接加入auto-focus则表示自动获取焦点,不需要手动设置焦点
-
activation-group:作用是如果有两个规则同属于同一个组,则随机执行组内一个规则,当前,你可以加入salience去控制执行优先级
-
date-effective:当前日期不小于设置时间时才会执行规则 使用前先格式化drools日期格式:System.setProperty("drools.dateformat","yyyy-HH-dd") 假如设置 date-effective:"2022-04-12" ,而当前系统时间是4月11号,由于当前时间小于设置时间,所以规则不会执行 date-expires:与date-effective相反,即为当前时间小于设置时间时执行规则