/**
* 加载规则
* @return
*/
private static synchronized RuleBase loadRule(String drl){
PackageBuilderConfiguration cfg = new PackageBuilderConfiguration();
JavaDialectConfiguration javaConf = (JavaDialectConfiguration) cfg.getDialectConfiguration("java");
javaConf.setCompiler(JavaDialectConfiguration.JANINO);
javaConf.setJavaLanguageLevel("1.5");
cfg.setDialectConfiguration("java", javaConf);
cfg.setClassLoader(Thread.currentThread().getContextClassLoader());
PackageBuilder builder = new PackageBuilder(cfg);
try {
builder.addPackageFromDrl(new InputStreamReader((new ClassPathResource(drl))
.getInputStream()));
} catch (DroolsParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
try {
ruleBase.addPackage(builder.getPackage());
} catch (Exception e) {
e.printStackTrace();
}
return ruleBase;
}
private static ruleBase = null;
if(ruleBase==null){//让规则只加载一次,改了规则文件要重新启动
ruleBase = loadRule("TransactPurview.drl");
}
WorkingMemory workingMemory=ruleBase.newStatefulSession();
workingMemory.setGlobal("vo", vo);//用于返回值
workingMemory.insert(condition); //规则判断的条件
workingMemory.fireAllRules();
分享到:
相关推荐
性能是Drools4.0的核心改进之一,包括: 1. 内存优化:通过改进数据结构和算法,降低了内存消耗,提升了大规模规则集的处理能力。 2. 规则执行速度:优化了规则匹配和执行过程,加快了决策速度,尤其在处理复杂规则...
Drools4.0对IDE的改进旨在提升开发者体验,包括支持规则断点调试、所见即所得的规则流编辑、规则编写向导编辑器,以及对所有新引擎特性的支持。 #### 4. 业务规则管理系统-BRMS Drools4.0带来了全新的BRMS工具,其...
《Drools4.0官方使用手册中文》与《Drools5规则引擎开发教程.pdf》是两个关于Drools规则引擎的重要参考资料。Drools是一个开源的业务规则管理系统(BRMS),它允许开发者通过规则语言来实现复杂的业务逻辑,以此提高...
A.I.(Artificial Intelligence)是一个关注于“使计算机像人类一样思考“的广泛的研究领域,包括Neural Networks(神经...Drools是一个使用基于规则的方法实现的专家系统的规则引擎,更准确的说属于产生式规则系统。
【Drools4.0申请信用卡web例子】是一个基于规则引擎Drools 4.0的Web应用程序示例,它展示了如何将业务规则集成到Web应用程序中,以便于处理信用卡申请审批这样的复杂业务流程。Drools是一个强大的、开源的Java规则...
Drools 4.0 是一个重要的更新,相较于之前的 Drools 3.0.x 版本,它在多个方面进行了重大改进,包括语言表达式、引擎性能、工具实用性及业务规则管理系统(BRMS)。以下将详细阐述这些更新内容: 1. **语言表达式...
KieScanner可以监视Maven仓库中的更新,并在检测到规则文件有变化时自动重新加载规则。这可以通过以下代码实现: ```java @Bean(destroyMethod = "dispose") public KieScanner kieScanner(KieContainer ...
antlr-runtime.jar drools-compiler.jar drools-core.jar drools-decisiontables.jar drools-jsr94.jar droolsService.jar jsr94.jar jxl.jar mvel.jar xpp3.jar
### Drools规则引擎4.0中文使用手册知识点详解 #### 一、Drools 4.0概述 **Drools 4.0**作为从Drools 3.0.x系列以来的重大更新版本,引入了一系列重要的改进和新特性。这些更新不仅包括语言表达式的增强、核心引擎...
动态加载规则的核心概念是Drools的KieSession,它是规则引擎的执行环境。通过创建一个KieSession实例,我们可以将规则集(Rules)加载到内存中,然后触发这些规则来执行决策逻辑。当规则需要更新时,我们不需要关闭...
### Drools从字符串中动态加载规则 在使用Drools规则引擎时,有时我们需要实现更加灵活的规则管理方式。例如,在开发过程中,我们可能希望不通过每次修改代码或重启服务来更新业务规则,而是能够在运行时动态地更改...