《Drools7.0.0.Final规则引擎教程》相同对象and List使用详解

前奏这样一个问题,怎么实现两个相同对象的插入和比较?相信很多朋友也遇到类似的问题,于是抽时间为大家写一段实例代码,后续代码会同步到GitHub中。下面简单介绍一下实现实例:场景向session中insert两个相同的对象,但对象的参数值有不...

《Drools7.0.0.Final规则引擎教程》获取规则名称和包名详解

场景这样一个问题,如果我执行了很多规则,调用fireAllRules方法只会返回触发了几条规则,那么我怎么知道哪些规则被触发了,并把这些触发的规则的名称存如数据库呢?其实这个问题很好解决,也是实践中必然会遇到的问题,为大家写了一个简单的示例...

《Drools7.0.0.Final规则引擎教程》第4章 global全局变量详解

global 全局变量global用来定义全局变量,它可以让应用程序的对象在规则文件中能够被访问。通常,可以用来为规则文件提供数据或服务。特别是用来操作规则执行结果的处理和从规则返回数据,比如执行结果的日志或值,或者与应用程序进行交互的规则...

《Drools7.0.0.Final规则引擎教程》默认条件的陷阱详解

场景今天向大家介绍一个典型的具有陷阱的场景,虽然不常用,但是如果错误使用的话也会导致莫名其妙的问题。当我们向session中插入多个对象,如果这多个对象匹配到同一条规则时,fireAllRules方法返回命中的规则数就是插入对象的数目。但是...

《Drools7.0.0.Final规则引擎教程》activation-group的多FACT对象详解

场景当我们使用activation-group时,默认会执行优先级最高的一个规则,然后其他规则不再执行,这也是此属性的基本特性。那么,大家是否考虑过这样一个问题,那就是如果在调用fireAllRules方法之前,insert了多个对象,那么...

《Drools7.0.0.Final规则引擎教程》第4章 Query查询之基础详解

Query查询首先,我们先来看一下query的语法结构图: Query语法提供了一种查询working memory中符合约束条件的FACT对象的简单方法。它仅包含规则文件中的LHS部分,不用指定“when”和“then”部分。Que...

《Drools7.0.0.Final规则引擎教程》第4章 Function函数详解

Function函数首先来看一下function函数的语法结构图: 函数是将语义代码放置在规则文件中的一种方式,就相当于java类中的方法一样。函数并不会比辅助类做更多的事情,实际上,编译器会在幕后生成助手类。使用函数的好处是可以将业务逻...

《Drools7.0.0.Final规则引擎教程》番外实例篇——Map使用案例详解

背景不少朋友在问,如何在Drools规则文件中使用Map。今天就用实例带大家了解一下map的使用方法。实例代码测试部分代码:@Test public void testMapUsage() {&nbs...

《Drools7.0.0.Final规则引擎教程》FactHandler使用案例详解

背景在使用具体的业务使用中,我们经常会通代码对Fact对象进行操作,Drools为我们提供了FactHandler来获取对象的句柄,通过此返回值可以对WorkingMemory中Fact对象进行操作。实例代码规则文件内容:package&n...

《Drools7.0.0.Final规则引擎教程》第5章 session使用说明详解

KieSession是用来与规则引擎进行交互的会话。在Drools 7当中分有状态的session和无状态的session:KieSession和StatelessKieSession。有状态session通过KieContainer可以获...