drools规则调用不了(开启灵活开发编码模式)
本节继续来看drools的高级语法:query 和function函数。
query(一)
- ① 介绍
query查询提供了一种查询working memory中符合约束条件的Fact对象的简单方法。它仅包含规则文件中的LHS部分,不用指定“when”和“then”部分并且以end结束。
- ② 语法结构
query 查询的名称(可选参数) LHS end
- ③ java调用类
不仅仅返回fact的对象的数量,还能具体地返回这fact。通过遍历的方式可以取到。
第一个查询没有参数,第二个查询里面有参数的。kieSession.getQueryResults(“query_2”,“王五”); 这个方式就是传递参数,可以传递多个。
function(二)
- ① 介绍
function关键字用于在规则文件中定义函数,就相当于java类中的方法一样。可以在规则体中调用定义的函数。使用函数的好处是可以将业务逻辑集中放置在一个地方,根据需要可以对函数进行修改
- ② 语法结构
function 返回值类型 函数名(可选参数){ //逻辑代码 }
- ③ 调用步骤
function.drl
编写单元测试
PS:本节讲述的内容主要是query查询内存中的对象,function是为了方便自定义一些函数,调用的时候使用
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com