`
log_cd
  • 浏览: 1098522 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Drools4.0之规则加载

阅读更多
/**
 * 加载规则
 * @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教程

    性能是Drools4.0的核心改进之一,包括: 1. 内存优化:通过改进数据结构和算法,降低了内存消耗,提升了大规模规则集的处理能力。 2. 规则执行速度:优化了规则匹配和执行过程,加快了决策速度,尤其在处理复杂规则...

    Drools4.0官方使用手册(中文).pdf

    Drools4.0对IDE的改进旨在提升开发者体验,包括支持规则断点调试、所见即所得的规则流编辑、规则编写向导编辑器,以及对所有新引擎特性的支持。 #### 4. 业务规则管理系统-BRMS Drools4.0带来了全新的BRMS工具,其...

    Drools4.0官方使用手册中文

    《Drools4.0官方使用手册中文》与《Drools5规则引擎开发教程.pdf》是两个关于Drools规则引擎的重要参考资料。Drools是一个开源的业务规则管理系统(BRMS),它允许开发者通过规则语言来实现复杂的业务逻辑,以此提高...

    Drools4.0官方使用手册中文.doc

    A.I.(Artificial Intelligence)是一个关注于“使计算机像人类一样思考“的广泛的研究领域,包括Neural Networks(神经...Drools是一个使用基于规则的方法实现的专家系统的规则引擎,更准确的说属于产生式规则系统。

    Drools4.0申请信用卡web例子

    【Drools4.0申请信用卡web例子】是一个基于规则引擎Drools 4.0的Web应用程序示例,它展示了如何将业务规则集成到Web应用程序中,以便于处理信用卡申请审批这样的复杂业务流程。Drools是一个强大的、开源的Java规则...

    Drools4.0 官方使用手册中文.doc

    Drools 4.0 是一个重要的更新,相较于之前的 Drools 3.0.x 版本,它在多个方面进行了重大改进,包括语言表达式、引擎性能、工具实用性及业务规则管理系统(BRMS)。以下将详细阐述这些更新内容: 1. **语言表达式...

    springboot集成drools实现重新加载规则

    KieScanner可以监视Maven仓库中的更新,并在检测到规则文件有变化时自动重新加载规则。这可以通过以下代码实现: ```java @Bean(destroyMethod = "dispose") public KieScanner kieScanner(KieContainer ...

    drools4.0 使用相关的jar包

    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 4.0**作为从Drools 3.0.x系列以来的重大更新版本,引入了一系列重要的改进和新特性。这些更新不仅包括语言表达式的增强、核心引擎...

    drools5 规则动态加载示例

    动态加载规则的核心概念是Drools的KieSession,它是规则引擎的执行环境。通过创建一个KieSession实例,我们可以将规则集(Rules)加载到内存中,然后触发这些规则来执行决策逻辑。当规则需要更新时,我们不需要关闭...

    drools从字符串中动态加载规则

    ### Drools从字符串中动态加载规则 在使用Drools规则引擎时,有时我们需要实现更加灵活的规则管理方式。例如,在开发过程中,我们可能希望不通过每次修改代码或重启服务来更新业务规则,而是能够在运行时动态地更改...

Global site tag (gtag.js) - Google Analytics