`

drools规则引擎应用

阅读更多
第一、 首先你对drools有一些初步了解,这个要求你自己去读drools规则引擎文档。 第二、当你对规则引擎有一定了解的话,下面是读取规则引擎drl的工具类: public class DroolRuleUtil { private static final Log log= LogFactory.getLog(DroolRuleUtil.class); /** * 读取规则文件 * * @param doc 公文信息VO */ public void readRule(DocumentInfoForm doc) { String drlPath = SystemConfigUtil.get("DrlPath", "d:\\drl\\DocumentCheck.drl"); KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); URL url = null; try { url = new URL("file:///"+drlPath); } catch (MalformedURLException e) { e.printStackTrace(); } kbuilder.add(ResourceFactory.newUrlResource(url), ResourceType.DRL); if (kbuilder.hasErrors()) { log.info(kbuilder.getErrors().toString()); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); ksession.insert(doc); ksession.fireAllRules(); ksession.dispose(); } } 第三、你自己去了解drools的drl规则文件的语法,下面是我自己写的drl规则文件 #created on: 2010-10-18 package com.topsoft.oa.doc.web.formbean; import com.topsoft.oa.doc.web.util.DroolXmlUtil; import com.topsoft.oa.doc.web.formbean.DocumentInfoForm; #如果公文类型等于公告或通知时,设置类型近期发文。 rule "rule3" salience 3 when doc: DocumentInfoForm(secrecyLevel=="普通"&&publicity=="可以公开"&&(docsort=="公告"||docsort=="通告")); then doc.setType("近期发文"); System.out.println(doc.getType()); # DroolXmlUtil droolXmlUtil = new DroolXmlUtil(); # droolXmlUtil.createXmlFile(doc); end #如果公文类型等于内部明电时,设置类型明传电报。 rule "rule2" salience 2 when doc: DocumentInfoForm(secrecyLevel=="普通"&&publicity=="可以公开"&&docsort=="内部明电"); then doc.setType("明传电报"); System.out.println(doc.getType()); # DroolXmlUtil droolXmlUtil = new DroolXmlUtil(); # droolXmlUtil.createXmlFile(doc); end 以上是drools最简单的应用,同时在加jar包时有一定的注意。有疑问的地方加我QQ:413540158
0
0
分享到:
评论

相关推荐

    Drools规则引擎应用分析

    Drools规则引擎应用分析,这是我学习drools找到的文档。

    Drools规则引擎从入门到精通

    从基础讲起,结合应用场景,由浅到深细化讲解drools规则引擎的的相关知识,并结合具体实例,演示功能的使用和注意事项。后面通过搭建具体的项目并结合springboot框架联合使用Drools的相关知识包括决策表的使用,囊括...

    Drools规则引擎从入门到精通源码

    从基础讲起,结合应用场景,由浅到深细化讲解drools规则引擎的的相关知识,并结合具体实例,演示功能的使用和注意事项。后面通过搭建具体的项目并结合springboot框架联合使用Drools的相关知识包括决策表的使用,囊括...

    Drools 规则引擎的介绍及应用

    Drools 规则引擎的介绍及应用,全面介绍了Drools的规则集文件语法

    Drools规则引擎实现原理及示例

    Drools规则引擎是一种嵌套在应用程序中的组件, 是用Java语言编写的开放源码规则引擎,使用Rete算法对所编写的规则求值。 它实现了将业务规则从程序代码忠分离出来,规则引擎使用特定的语法编写业务规则,规则引擎...

    论文研究-Drools规则引擎的开发应用 .pdf

    Drools规则引擎的开发应用,艾建锋,,规则引擎技术是一项很有吸引力的技术。本文首先介绍了规则引擎的相关概念及其基本组成。然后重点介绍了Java规则引擎技术的规范和��

    drools规则引擎在促销系统中的应用.pdf

    drools规则引擎在促销系统中的应用.pdf

    Drools规则引擎技术分享

    - Drools规则引擎 - 问题引出 - 电商平台促销活动 -  规则引擎概述 - 什么是规则引擎 - 规则引擎方案对比 - 使用规则引擎的优势 - 规则引擎应用场景 - Drools介绍 - 开发实现 - 规则引擎构成 - 相关概念...

    drools 规则引擎.xmind

    自己总结的drools规则引擎内容,搜过一些资料,不是很明白规则引擎是什么,怎么用,自己整理了一些,在脉络上,可以基础的去理解drools是什么,怎么应用,语法的具体含义等

    规则引擎Drools入门实战案例

    规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或开发者在需要时进行配置、管理。 使用规则引擎的优势如下: 1、业务规则与系统代码分离,实现...

    使用 Drools 规则引擎实现业务逻辑

    使用规则引擎可以通过降低实现...这篇更新的文章展示如何使用开源的 Drools 规则引擎让 Java™ 应用程序更适应变化。Drools 项目引入了一个新的本地规则表达式语言和一个 Eclipse 插件,使 Drools 比以前更容易使用。

    Drools规则引擎用户手册

    Drools 规则引擎 11 2.1. 概述 11 2.2. 编制 13 2.3. RuleBase 18 2.4. WorkingMemory 和有状态/无状态Sessions 22 2.5. StatefulSession 28 2.6. StatelessSession 29 2.7. Agenda 31 2.8. Truth Maintenance with...

    Drools规则引擎介绍

    规则引擎是一种嵌套在应用程序中的组件,它实现了将业务规则从应用程序代码中分离出来。规则引擎使用特定的语法编写业务规则,规则引擎可以接受数据输入、解释业务规则、并根据业务规则做出相应的决策。

    drools规则引擎介绍

    drools5规则引擎,主要是在复杂的应用中,把业务和程序代码分离,已达到程序的可维护和可扩展

    基于Drools规则引擎的实例

    在网上看了基于Drools的规则流的应用,但是在处理.RF文件时遇到了空指针问题,因此没有用规则流的方法,解决了相同的规则匹配。

    Java规则引擎---Drools的介绍及应用

    Java规则引擎---Drools的介绍及应用

    规则引擎Drools在J2EE项目开发中的应用

    规则引擎Drools在J2EE项目开发中的应用...

    基于Drools规则引擎的丝绸辅助设计Web专家系统.pdf

    基于Drools规则引擎的丝绸辅助设计Web专家系统.pdf

    Drools5规则引擎开发教程

    详细讲解drools规则引擎的应用,对于使用drools的朋友来说,这是一份很实用的文档

Global site tag (gtag.js) - Google Analytics