几款不错的java规则引擎

以下列举几款不错的规则引擎,方便学习

drools

很强大的brms系统,同时生态也很不错,问题就是使用上复杂,参考https://github.com/kiegroup/drools&&https://www.drools.org/

OpenL Tablets

参考https://github.com/openl-tablets/openl-tablets,国内资料不是很多,但是官方文档还是很不错的

Easy Rules

官方的介绍,傻瓜式的基于pojo的规则引擎,使用简单,同时也比较强大,支持bdd模式的规则处理,对于java 系统的集成很友好 
使用简单,同时支持基于文件的规则加载,当然了,接口是可扩展的可以自己添加基于db以及s3模式的处理,内置的Listener也是 
一个很不错的监控点,方便我们进行规则审计存储

RuleBook

基于java8 lambda 模式的规则引擎,使用上也是比较灵活的,参考资料https://github.com/deliveredtechnologies/rulebook

说明

如果从可配置管理上drools,Easy Rules,openl-tablets 是更灵活的(支持配置变动,具有脚本的能力)

原文地址:https://www.cnblogs.com/rongfengliang/p/12682840.html

时间: 2024-11-04 00:11:39

几款不错的java规则引擎的相关文章

Java规则引擎及JSR-94[转]

规则引擎简介 Java规则引擎是推理引擎的一种,它起源于基于规则的专家系统.      Java规则引擎将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.Java规则引擎接受数据输入,解释业务规则,并根据规则作出业务决策.从这个意义上来说,它是软件方法学在"关注点分离"上的一个重要的进展.      JSR-94规范定义了独立于厂商的标准API,开发人员可以通过这个标准的API使用Java规则引擎规范的不同产品实现.但值得注意的是,这个规范并没有强制统一规则定义的

【java规则引擎】规则引擎RuleBase中利用观察者模式

(1)当RuleBase中有规则添加或删除,利用观察者模式实现,一旦有变动,规则引擎其他组件也做出相应的改变.(2)学习思想:当一个应用中涉及多个组件,为了实现易扩展,解耦思想.可以利用观察者模式实现.基于易变动的数据结构中加入监听者,监听者依据被监听者的变动动作,定义自己的动作.在监听者内部通知其他组件做出相应改变.实现面向对象的思想.组建之间实现了解藕. 一:被监听数据,也就是规则网络RuleBase的接口定义 1 package com.nonbankcard.commons.doorls

JAVA规则引擎 -- Drools

Drools是一个基于java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效. 本文所使用的demo已上传 http://download.csdn.net/source/3002213 1.Drools语法 开始语法之前首先要了解一下drools的基本工作过程,通常而言我们使用一个接口来做事情,首先要穿进去参数,其次要获取到接口的实现执行完毕后的结果,而drools也是一样的,我们需要传递进

java 规则引擎资料汇集

1. ibm的developworks中较早的一篇关于规则引擎的文章 https://www.ibm.com/developerworks/cn/java/j-java-rules/ 2. 一篇硕士论文的,不知道水不水 规则引擎中模式匹配算法及规则引擎应用的研究 http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CMFD&dbname=CMFD2011&filename=2010224679.nh&v=MTQ4MTVsVUwvTF

[Drools]JAVA规则引擎 -- Drools

Drools是一个基于Java的规则引擎,开源的,可以将复杂多变的规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得规则的变更不需要修正代码重启机器就可以立即在线上环境生效. 本文所使用的demo已上传 http://download.csdn.net/source/3002213 1.Drools语法 开始语法之前首先要了解一下drools的基本工作过程,通常而言我们使用一个接口来做事情,首先要穿进去参数,其次要获取到接口的实现执行完毕后的结果,而drools也是一样的,我们需要传递进

【java规则引擎】java规则引擎搭建开发环境

Drools官网:http://www.jboss.org/drools Drools and jBPM consist out of several projects:(Drools软件包提供的几个部分的功能) Drools Guvnor (Business Rules Manager) (规则集管理器) Drools Expert (rule engine)                      (规则引擎) jBPM 5 (process/workflow)              

【java规则引擎】之规则引擎解释

转载:http://www.open-open.com/lib/view/open1417528754230.html 现实生活中,规则无处不在.法律.法规和各种制度均是:对于企业级应用来说,在IT技术领域,很多地方也应用了规则,比如路由表,防火墙策略,乃至角色权限控制(RBAC),或者Web框架中的URL匹配.不管是那种规则,都规定了一组确定的条件和此条件所产生的结果. 举一个例子: IF 汽车是红色车是运动型的驾驶员是男性驾驶员在16-25岁之间THEN 保险费用增加20% 从这个例子可以看

【java规则引擎】drools6.5.0版本中kmodule.xml解析

kmodule.xml文件存放在src/main/resources/META-INF/文件夹下. 1 <?xml version="1.0" encoding="UTF-8"?> 2 <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule"> 3 <kbase name="rules" packages="rules"> 4

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

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