[置顶] 《Drools7.0.0.Final规则引擎教程》相关事宜

非常感谢大家能够有时间来看这篇博客,本篇博客主要介绍一下最近本人正在致力于的Drools 7 规则引擎文档和视频教程相关事项。Drools 本身在国内的技术网站上的资料就比较少,最近的视频教程更是几乎没有。本人最近一段时间正在致力于文档编写(已经完成过半)和视频的录制。同时,博客的编写发表也在同步进行。后期会根据项目中的时间录制实战教程。欢迎大家多多支持。文档、博客、Github代码完全免费开放,视...
阅读(43) 评论(0)

关于做开源技术的一些思考

七月份初,开始做一些开源技术的相关工作。项目中使用到drools规则引擎,在网上搜索资料时发现真是少得可怜,而且漏洞错误百出。只有官方的英文手册和国外的技术网站的资料才能参考一下。于是,决定自己为开源框架drools做一些贡献。写了一篇规划书,基本思路有以下几方面:(1)写博客,博客内容包括文档的翻译内容,外文的翻译,自己或别人遇到的典型的案例;(2)整理技术文档,博客涵盖了几乎所有的内容,但真正的...
阅读(21) 评论(0)

《Drools7.0.0.Final规则引擎教程》番外实例篇——activation-group的多FACT对象

场景当我们使用activation-group时,默认会执行优先级最高的一个规则,然后其他规则不再执行,这也是此属性的基本特性。那么,大家是否考虑过这样一个问题,那就是如果在调用fireAllRules方法之前,insert了多个对象,那么应该触发几次规则?在其他属性的使用时,我们知道,如果插入多个对象,那么如果每个对象都符合同一规则条件就会执行多次,如果部分条件符合规则,就执行部分次。当我们即想使...
阅读(140) 评论(0)

《Drools7.0.0.Final规则引擎教程》番外实例篇——默认条件的陷阱

场景今天向大家介绍一个典型的具有陷阱的场景,虽然不常用,但是如果错误使用的话也会导致莫名其妙的问题。当我们向session中插入多个对象,如果这多个对象匹配到同一条规则时,fireAllRules方法返回命中的规则数就是插入对象的数目。但是有一个情况比较特殊,下面看看实例。实例下面是测试代码和规则内容:@Test public void testComment(){ KieS...
阅读(154) 评论(0)

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

global 全局变量global用来定义全局变量,它可以让应用程序的对象在规则文件中能够被访问。通常,可以用来为规则文件提供数据或服务。特别是用来操作规则执行结果的处理和从规则返回数据,比如执行结果的日志或值,或者与应用程序进行交互的规则的回调处理。全局变量并不会被插入到Working Memory中,因此,除非作为常量值,否则不应该将全局变量用于规则约束的判断中。对规则引擎中的fact修改,规则...
阅读(159) 评论(0)

《Drools7.0.0.Final规则引擎教程》番外实例篇——获取规则名称和包名

场景在QQ(593177274)交流群中,有朋友问到这样一个问题,如果我执行了很多规则,调用fireAllRules方法只会返回触发了几条规则,那么我怎么知道哪些规则被触发了,并把这些触发的规则的名称存如数据库呢?其实这个问题很好解决,也是实践中必然会遇到的问题,为大家写了一个简单的示例。实践在前面的RHS语法章节中我们已经讲过预定义变量drools的简单实用,其实通过它就可以轻松的拿到规则相关的信...
阅读(209) 评论(0)

《Drools7.0.0.Final规则引擎教程》番外实例篇——相同对象and List使用

前奏群组(QQ:593177274)交流中有朋友提出一个问题,怎么实现两个相同对象的插入和比较?相信很多朋友也遇到类似的问题,于是抽时间为大家写一段实例代码,后续代码会同步到GitHub中。下面简单介绍一下实现实例:场景向session中insert两个相同的对象,但对象的参数值有不同的地方,同时要求对两个FACT对象的属性进行判断,当同时满足(&&)时,通过规则校验,进行后续业务处理。下面,通过两...
阅读(326) 评论(0)

《Drools7.0.0.Final规则引擎教程》第4章 4.9 关键字

关键字从Drools 5开始引入了硬关键字和软关键字。硬关键字是保留关键字,在命名demo对象,属性,方法,函数和规则文本中使用的其他元素时,不能使用任何硬关键字。以下是必须避免的硬关键字: (1)true (2)false (3)null 软关键词只在它们的上下文中被识别,可以在其他地方使用这些词,尽管如此,仍然建议避免它们,以避免混淆。其中大多数关键字我们在前面的章节中已经介绍过。软关键...
阅读(187) 评论(0)

《Drools7.0.0.Final规则引擎教程》第4章 注释&错误信息

注释像Java开发语言一样,Drools文件中也可以添加注释。注释部分Drools引擎是会将其忽略调的。单行注释使用“//”,示例如下:rule "Testing Comments" when // this is a single line comment eval( true ) // this is a comment in the same line of a pattern...
阅读(216) 评论(0)

Intellij IDEA创建包(package)问题解决方案

问题在使用IDEA创建包时会出现这样一种场景,就是当一个空包很长时,比如com.secbro.drools.model。这个时候如果你想给drools或model创建同级的包,你会发现,默认创建的包不是同级的,而是在model下面的。 如下图,如果创建drools同级的包: 解决方案此问题的原因是包显示模式的问题,将默认的“Hide empty Middle Packages”勾选项去掉,这样就...
阅读(381) 评论(0)

《Drools7.0.0.Final规则引擎教程》第4章 4.6 结果条件

结果条件在Java中,如果有重复的代码我们会考虑进行重构,抽取公共方法或继承父类,以减少相同的代码在多处出现,达到代码的最优管理和不必要的麻烦。Drools同样提供了类似的功能。下面我们以实例来逐步说明。 像下面最原始的两条规则,有相同的业务判断,也有不同的地方:package com.rules.conditional import com.secbro.drools.model.Custome...
阅读(430) 评论(0)

《Drools7.0.0.Final规则引擎教程》第4章 4.5RHS语法

RHS语法使用说明RHS是满足LHS条件之后进行后续处理部分的统称,该部分包含要执行的操作的列表信息。RHS主要用于处理结果,因此不建议在此部分再进行业务判断。如果必须要业务判断需要考虑规则设计的合理性,是否能将判断部分放置于LHS,那里才是判断条件应该在的地方。同时,应当保持RHS的精简和可读性。 如果在使用的过程中发现需要在RHS中使用AND或OR来进行操作,那么应该考虑将一根规则拆分成多个规...
阅读(330) 评论(0)

《Drools7.0.0.Final规则引擎教程》第4章 4.4 约束(Pattern的一部分)

4.4.3 约束(Pattern的一部分)前面我们已经介绍了条件约束在Pattern中位置了,那么什么是条件约束呢?简单来说就是一个返回true或者false的表达式,比如下面的5小于6,就是一个约束条件。Person( 5 < 6 )从本质上来讲,它是JAVA表达式的一种增强版本(比如属性访问),同时它又有一些小的区别,比如equals方法和==的语言区别。下面我们就深入了解一下。访问JavaBe...
阅读(385) 评论(0)

《Drools7.0.0.Final规则引擎教程》Springboot+规则重新加载

在《Drools7.0.0.Final规则引擎教程》之Springboot集成中文名介绍了怎样将Drools与Springboot进行集成,本篇博客介绍一下集成之后,如何实现从数据库读取规则并重新加载规则的简单demo。因本章重点介绍的是Drools相关操作的API,所有将查询数据库部分的操作省略,直接使用数据库查询出的规则代码来进行规则的重新加载。另外,此示例采用访问一个http请求来进行重新加载...
阅读(205) 评论(0)

《Drools7.0.0.Final规则引擎教程》第4章 4.4 LHS简介&Pattern

LHS简介在规则文件组成章节,我们已经了解了LHS的基本使用说明。LHS是规则条件部分的统称,由0个或多个条件元素组成。前面我们已经提到,如果没有条件元素那么默认就是true。 没有条件元素,官方示例:rule "no CEs" when // empty then ... // actions (executed once) end// The above rule is int...
阅读(234) 评论(0)
205条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:447822次
    • 积分:6371
    • 等级:
    • 排名:第3836名
    • 原创:176篇
    • 转载:21篇
    • 译文:8篇
    • 评论:196条
    Drools 7 视频教程
    Drools规则引擎QQ交流群
    这里写图片描述
    个人微信公众号

    欢迎关注微信公众号,了解更多新动态
    这里写图片描述

    博客专栏
    最新评论