Drools推出了一套新的基于KIE概念的API,其目的是将之前版本中对规则引擎繁琐的调用和加载过程加以简化。
Drools6给我的最大不同就是把rules打包成jar,使用端通过kie-ci来动态从maven repo中获取指定rules jar版本,虽然和maven有紧耦合,简化以及清晰了rules的使用和动态升级:系统建立2个项目:一个Drools项目来实现规则,验收规则,生成jar包,另外一个就是真正要用规则的项目,直接通过引入不同版本的jar包实习规则动态升级。
- 为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。
- 市场要求业务规则经常变化,系统必须依据业务规则的变化快速、低成本的更新。
- 为了快速、低成本的更新,业务人员应能直接管系统中的规则,不需要程序开发人员参与。
- 将业务规则与业务系统分离,解耦合;
- 实现自然语言描述规则逻辑,业务人员易于理解;
- 可视化的规则定制、审批、查询及管理;
- 能有效的提高实现复杂逻辑的代码的可维护性;
- 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内;
- 符合组织对敏捷或迭代开发过程的使用;
规则文件可以使用 .drl文件,也可以是xml文件
规则语法:
package:对一个规则文件而言,package是必须定义的,必须放在规则文件第一行。特别的是——package的名字是随意的,不一定必须对应物理路径,跟java的package的概念不同,这里只是逻辑上的一种区分。同样的package下定义的function和query等可以直接使用。
比如:package com.drools.demo.point
import:导入规则文件需要使用到的外部变量,这里的使用方法跟java相同,但是不同于java的是,这里的import导入的不仅仅可以是一个类,也可以是这个类中的某一个可访问的静态方法。
比如:
import com.drools.demo.point.PointDomain; 导入类
import com.drools.demo.point.PointDomain.getById; 导入静态方法
下面是小编的微信转帐二维码,小编再次谢谢读者的支持,小编会更努力的
----请看下方↓↓↓↓↓↓↓
百度搜索 Drools从入门到精通:可下载开源全套Drools教程
深度Drools教程不段更新中:
更多Drools实战陆续发布中………
扫描下方二维码关注公众号 ↓↓↓↓↓↓↓↓↓↓