Drools简介:
Drools 是用 Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允许使用声明方式表达业务逻辑。可以使用非 XML 的本地语言编写规则,从而便于学习和理解。并且,还可以将 Java 代码直接嵌入到规则文件中,drools与 Java Rule Engine API(JSR 94)兼容。
Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关。Rete是拉丁文,对应英文是net,也就是网络。Rete算法通过形成一个rete网络进行模式匹配,利用基于规则的系统的两个特征,即时间冗余性(Temporal redundancy)和结构相似性(structural similarity),提高系统模式匹配效率。Rete算法由 Carnegie Mellon University 的Dr Charles L. Forgy设计发明,在1974年初次发表他的工作底稿。
Drools软件包介绍:
Drools Guvnor (Business Rules Manager) 规则集管理器
Drools Expert (rule engine) 规则引擎
jBPM 5 (process/workflow) 工作流
Drools Fusion (event processing/temporal reasoning) 规则集引擎搜索与规划
Drools Planner (automated planning) 决策表
下载包介绍:
下载地址:http://download.jboss.org/drools/release
drools-distribution-5.4.0.Final.zip 规则引擎相关类库
drools-osgi-bundles-distribution-5.4.0.Final.zip 规则引擎osgi规范的类库
drools-planner-distribution-5.4.0.Final.zip 决策集 相关类库
droolsjbpm-integration-distribution-5.4.0.Final.zip 工作流相关类库
droolsjbpm-tools-distribution-5.4.0.Final.zip 工作流开发工具类库
guvnor-distribution-5.4.0.Final.zip 规则集管理器类库,规则管理和热部署
guvnor-distribution-wars-5.4.0-20120413-jboss-eap-5.1.war
guvnor-distribution-wars-5.4.0-20120516-jboss-as-7.0.war
eclipse插件安装 :
插件安装地址:http://download.jboss.org/drools/release/(版本)/org.drools.updatesite
规则引擎核心类介绍:
KnowledgeBuilder 规则load和 编译
KnowledgeBase 知识库,保存编译后的规则的容器
StatefulKnowledgeSession 执行规则的有状态会话,需要主动close
StatelessKnowledgeSession 执行规则的无状态会话,不需要主动close
例子:
官方包里和插件内置的样例已经非常详细和简单易懂。
分享到:
相关推荐
【Drools 知识点详解】 Drools 是一个基于Java的规则引擎,它允许开发者用自然语言编写业务规则,并在运行时高效地执行这些规则。Drools 提供了一个强大的框架,使得业务逻辑与应用程序的其他部分保持松耦合,从而...
### Drools 6基础知识与实践指南 #### 一、Drools 6简介与环境搭建 **Drools** 是一款开源的业务规则管理系统(BRMS),它支持...接下来可以深入学习Drools的高级特性,如决策表、模板等,以更好地应用于实际项目中。
这些示例涵盖了各种Drools的使用场景,是学习和理解Drools功能的好资源。 Drools的主要特性包括规则的编写、推理引擎、工作流支持以及与各种数据源的集成。它的规则语言(DRL)允许开发者用类似英语的语法定义规则...
《drools5 读书笔记》 Drools是一款强大的规则引擎,它基于Java语言,用于在企业级应用中实现复杂的业务逻辑。这个读书笔记主要涵盖了Drools 5版本的相关内容,结合源码分析和工具使用,旨在帮助读者深入理解其工作...
**JBPM3学习笔记** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了对业务流程的建模、部署、执行和监控的能力。在本文中,我们将深入探讨JBPM3的核心概念、功能和使用方法,以帮助...
在“Activiti学习笔记三:管理流程定义”中,我们将深入探讨如何使用Activiti来管理和操作流程定义。 首先,流程定义是Activiti中的核心概念,它是流程模型的静态表示,描述了工作流的结构和规则。流程定义通常以...
在jBPM-jPDL学习笔记中,你将了解到以下关键知识点: 1. **流程定义**:jPDL通过流程图中的节点(如开始节点、结束节点、任务节点、事件节点等)来描述流程的结构。这些节点之间的连线代表了流程的流转路径。 2. *...
- 博文链接:[JBPM学习笔记](https://zhaoshijie.iteye.com/blog/932534) 提供了关于JBPM的实践经验和案例分享,对于初学者来说是很好的参考资料。 通过深入学习和实践,可以更好地理解和掌握JBPM,从而在实际项目...
使用笔记** - 定期保存工作:在编辑本体过程中,应经常保存以防意外丢失。 - 学习插件:Protege有丰富的插件库,如Ontology Library插件可以帮助查找和导入公共本体。 - 熟悉快捷键:熟练使用快捷键可以提高工作...
**JBPM研究笔记** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。这个系统的核心是基于模型驱动的架构,允许开发者通过图形化的方式设计、...
2. **规则集成**:Jbpm与Drools规则引擎紧密集成,允许在流程中嵌入决策逻辑。 3. **事件驱动**:支持事件触发的流程行为,比如基于时间或特定事件的流程跳转。 4. **持久化**:使用Hibernate进行数据持久化,保证...
当学习完一个知识点以后,自己做笔记,同时事后要总结,如果自己能把一个知识清晰表达出来的时候,自己也是有很大的收获和成长的; 赠人玫瑰手留余香。 目录 学习知识相关 Java 计算机基础(重要) 需要完善 需要...
在提供的压缩包中,“JBossjBPM.nh”可能是一个笔记或文档文件,详细介绍了在实际项目中使用JBoss jBPM的经验和技巧。通常,这种文件会涵盖以下内容: 1. 安装与配置:如何在本地环境中设置jBPM,包括依赖库的导入和...