`

Drools 规则文件 ——语法属性

阅读更多
1.salience
功能:设置规制执行的优先级
值:数字(数字越大执行优先级越高)
示例:
rule "rule1" 
  salience 1 
  when 
 eval(true) 
  then  
System.out.println("rule1");
end 


2.no-loop
功能:控制已经执行的规则条件再次满足是否再次执行
值:true/false
示例:
rule "rule1" 
  no-loop true 
  when 
  $customer:Customer(name=="张三") 
  then  
   update($customer); 
  System.out.println("customer name:"+$customer.getName()); 
  End 


3.date-effective
功能:当系统时间>=date-effective后才会触发
值:日期默认格式为dd-MMM-yyyy,
可以设置其它时间格式如yyyy-MM-dd,需在代码设置系统时间格式System.setProperty("drools.dateformat", "yyyy-MM-dd");


示例:
rule "rule1" 
  date-effective "2009-09-25" 
  when 
  eval(true); 
  then  
  System.out.println("rule1 is execution!"); 
  end


4.date-expires
功能:当系统时间<=date-expires后才会触发
值:日期默认格式为dd-MMM-yyyy
可以设置其它时间格式如yyyy-MM-dd,需在代码设置系统时间格式System.setProperty("drools.dateformat", "yyyy-MM-dd");


示例:
rule "rule1" 
  date-expires "2009-09-27" 
  when 
  eval(true); 
  then  
  System.out.println("rule1 is execution!");  
  end



5.enabled
功能:设置规制是否可用
值:true/false


示例:
rule "rule1" 
  enabled false 
  when 
   eval(true); 
  then  
  System.out.println("rule1 is execution!"); 
  end


6.dialect
功能:规则当中要使用的语言类型
值:Java/mevl(默认为java)


示例:
rule "rule3"
 dialect "mvel"
 when
    $app:Applicant(age == 24); 
 then
    System.out.println("rule3----" + $app.name);
end



7.duration
功能:设定时间之后在另外一个线程里触发
值:一个长整型,单位是毫秒


示例:
rule "rule1" 
  duration 3000 
  when 
  eval(true) 
  then  
  System.out.println("rule thread id:"+Thread.currentThread().getId()); 
  end 


8.activation-group
功能:若干个规则划分成一个组
值:分组名称


示例:
rule "rule2"
 activation-group "test"
 salience 10 
 when
   eval(true)
  then
    System.out.println("rule2 execute");
 end
 
 rule "rule1"
 activation-group "test"
 salience 9
 when
 eval(true)
 then
 System.out.println("rule1 execute");
end 

note:
如果同一组规则,谁的salience高就执行谁,没有则按顺序执行最后同组最后那个规则


9.agenda-group
功能:Agenda Group 是用来在 Agenda的基础之上,对现在的规则进行再次分组.
Agenda Group 得到 Focus(焦点),这样位于该 Agenda Group当中的规则才会
触发执行,否则将不执行。
值:一个字符串


示例:
rule "rule1"
    agenda-group "001"
 when
  eval(true)
 then 
  System.out.println("rule1 execute"); 
end


rule "rule2"
    agenda-group "002"
 when
  eval(true)
 then 
  System.out.println("rule2 execute");
  
end


10:auto-focus
功能:跟agenda-group一起使用,设置该规则是否可以自动独取 Focus,如果该属性设置为 true,那么在引擎执行时,就不需要
显示的为某个Agenda Group 设置 Focus,否则需要。
值:true/false


示例:
rule "rule1"
    agenda-group "001"
    auto-focus true
 when
  eval(true)
 then 
  System.out.println("rule1 execute"); 
end


rule "rule2"
    agenda-group "002"
    auto-focus true
 when
  eval(true)
 then 
  System.out.println("rule2 execute"); 
end
分享到:
评论

相关推荐

    Drools规则引擎从入门到精通

    1 Drools简介1.1 Drools的作用1.2 使用规则引擎的优势1.3 规则引擎应用场景2 Drools初体验2.1 构建项目2.2 案例描述 2.3 代码实现3 Drools语法介绍3.1 规则文件的组成3.2 规则体语法结构3.3 Pattern模式匹配 ...

    drools动态生成规则文件

    drools动态生成规则文件

    drools规则文件

    drools开发

    Drools 规则引擎的介绍及应用

    Drools 规则引擎的介绍及应用,全面介绍了Drools的规则集文件语法

    Drools规则引擎从入门到精通源码

    从基础讲起,结合应用场景,由浅到深细化讲解drools规则引擎的的相关知识,并结合具体实例,演示功能的使用和注意事项。后面通过搭建具体的项目并结合springboot框架联合使用Drools的相关知识包括决策表的使用,囊括...

    Droosl规则文件+语法结构+案例实现代码

    该资源文件是本人CSDN 技术文章专栏《Drools》相关文章的代码案例,包含了Drools规则文件语法代码、规则属性测试代码、Drools高级语法代码、综合案例-消费积分案例代码等相关内容;有兴趣的朋友可以下载下来看看;...

    Drools规则引擎Drools规则引擎

    Drools是Jboss公司旗下一款开源的规则引擎,它完整的实现了Rete 算法;提供了强大的Eclipse Plugin开发支持; 通过使用其中的DSL(Domain Specific Language),可以实现用自然语言方式来描述业务规则,使得业务分析...

    Drools规则执行顺序

    测试详细记录文件 博文链接:https://rishon.iteye.com/blog/662812

    Drools 规则流的使用介绍

    NULL 博文链接:https://wangmengbk.iteye.com/blog/2120259

    Drools规则引擎实现原理及示例

    Drools规则引擎是一种嵌套在应用程序中的组件, 是用Java语言编写的开放源码规则引擎,使用Rete算法对所编写的规则求值。 它实现了将业务规则从程序代码忠分离出来,规则引擎使用特定的语法编写业务规则,规则引擎...

    规则引擎Drools入门实战案例

    规则属性 Drools高级语法 Spring整合Drools Spring Boot整合Drools WorkBench Drools实战 个人所得税计算器 信用卡申请 保险产品准入规则 规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule ...

    Drools规则引擎介绍

    Drools规则引擎介绍,Drools规则引擎介绍,Drools规则引擎介绍

    Drools规则引擎及教程

    Drools规则引擎及教程,需在jdk1.6下运行,不缺jar包

    Drools规则引擎技术分享

    - Drools规则引擎 - 问题引出 - 电商平台促销活动 -  规则引擎概述 - 什么是规则引擎 - 规则引擎方案对比 - 使用规则引擎的优势 - 规则引擎应用场景 - Drools介绍 - 开发实现 - 规则引擎构成 - 相关概念...

    drools规则引擎系统概要设计.pdf

    drools规则引擎系统概要设计.pdf

    Drools规则引擎介绍.ppt

    drools规则引擎,了解规则匹配,专家系统的可以学习一下,java的同学也可以学习一下,各大厂也在用哦

    Drools规则引擎手册.zip

    一个关于drools规则引擎的说明文档,说明的很详细,包括对drools的简介,运行方式介绍,语言编写教程,集成和测试教程,同时包括一些案例,应该是由外文文档进行的翻译

    Drools规则引擎

    描述Drools规则引擎的相关内容,并讲述java环境下如何集成drools工具实现规则的推理

    Drools规则引擎样例系统

    基于Drools规则引擎开发的一个规则验证样例系统,包含java代码源码、规则源码及所依赖的jar包。

Global site tag (gtag.js) - Google Analytics