假设我们有三个规则 rule-01 、 rule-02 和 rule-03 ,当 rule-02 执行后,那么 rule-03 必须终止执行。
即当 rule-02 规则执行后,修改 Fact 中的某个属性,设置规则已执行,后续规则发现是已执行则不在执行规则。
在drools中使用全局变量进行判断。
当我们在 drl 文件中调用 drools.halt() 方法后,它会立即终止它后面的规则,即后面的规则都不在执行。
此处我们通过 halt 方法来实现。
上述的规则比较简单,通过 salience 设置规则的优先级,值越大优先级越高。 when 后面没有条件,说明规则都会通过模式匹配,即都可能会执行。但是 rule-02 规则的 then 部分有 drools.halt() ,说明,该规则执行完之后,它后方激活的规则需要终止执行。
可以看到 rule-03 没有输出出来,说明这个规则被终止执行了。
https://gitee.com/huan1993/spring-cloud-parent/tree/master/drools/drools-termination-rule
java 得到系统时间,直接私用Date类型,直接生成一个对象即可,示例如下:import java.util.Dateimport java.text.DateFormatimport java.text.SimpleDateFormat Date dt=new Date()//如果不需要格式,可直接用dt,dt就是当前系统时间 DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss")//设置显示格式 String nowTime="" nowTime= df.format(dt)//用DateFormat的format()方法在dt中获取并以yyyy/MM/dd HH:mm:ss格式显示
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)