`
回归蔚蓝
  • 浏览: 25154 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Drools规则执行顺序(二)

 
阅读更多
当规则空间中的事实(fact)有多个时,规则会匹配多个组合.
Rule rule = new Rule();
rule.setRuleName("test");
rule.setSalience(100);
ksession.insert(rule);
ksession.fireAllRules();

import test.Rule;

rule "test second"
	salience 20
	activation-group "test"
	no-loop true
	when
		$test: Rule(ruleName matches "test", salience >= 110)
	then 
		System.out.println($test + " the 1st");
		
end

rule "test first"
	salience 10
	no-loop true
	when
		$test: Rule( )
		$show : String( )
	then 
		System.out.println($test + " the 2nd");
		System.out.println($show + " the 2nd");
end

rule "test three"
	salience -10
	activation-group "test"
	no-loop true
	when
		$test: Rule( )
	then 
		System.out.println($test + " the 3rd");
		$test.setNo_loop(true);
		Rule temp = new Rule();
		temp.setRuleName("test");
		temp.setSalience(110);
		
		insert("show");
		insert("test");
		insert(temp);
end

测试结果
test.Rule@90d8ea the 3rd
test.Rule@17cec96 the 1st
test.Rule@17cec96 the 2nd
test the 2nd
test.Rule@17cec96 the 2nd
show the 2nd
test.Rule@90d8ea the 2nd
test the 2nd
test.Rule@90d8ea the 2nd
show the 2nd
分享到:
评论

相关推荐

    Drools规则执行顺序

    标题 "Drools 规则执行顺序" 涉及的是一个业务规则引擎——Drools 的核心概念。Drools 是一个开源的Java决策管理平台,它允许开发者使用规则语言来编写业务逻辑,这些规则可以按特定顺序执行,以处理复杂的业务场景...

    Drools 规则流的使用介绍

    总结,Drools 规则流提供了一种强大的方式来组织和控制规则执行顺序,使得业务逻辑更加有序和可控。通过理解Drools的工作原理和规则流的构建,开发者可以更高效地处理复杂的业务场景,提升软件系统的灵活性和可维护...

    Drools规则引擎从入门到精通

    - **activation-group** 和 **agenda-group**: 分组和控制规则的执行顺序。 - **timer**, **date-effective** 和 **date-expires**: 定时和有效期控制。 5. **Drools高级特性** - **global全局变量**:跨规则...

    Drools规则引擎手册.zip

    此外,Drools还支持规则的优先级和约束,以便控制规则的执行顺序。 集成Drools到你的项目中,可以使用Maven或者Gradle依赖,将其库引入到构建文件中。同时,Drools提供了API和工作流引擎kie-executor,使得你可以...

    用Spring boot与Drools规则引擎写的Demo

    此外,Drools还提供了复杂的规则流(Workflow)功能,可以控制规则的执行顺序和条件。通过Drools的工作记忆(Working Memory)和事件处理,可以实现灵活的业务规则触发和响应。 这个Demo项目还会展示如何在Spring ...

    drools动态生成规则文件

    通过设置断点,观察规则执行顺序,以及跟踪工作记忆中的事实变化,可以更好地理解规则的运行情况。 总结,drools动态生成规则文件的能力使得业务规则能够灵活适应变化,减少了对代码的修改和重新部署。掌握drools的...

    Drools规则引擎开发实例+源码

    4. **规则流程(Rule Flow)**:Drools还提供了流程控制能力,允许用户定义规则执行的顺序和逻辑。这对于实现复杂的业务流程非常有用。 5. **决策表(Decision Table)**:Drools支持使用Excel或CSV格式的决策表来...

    Drools规则流

    规则流(Rule Flow)是Drools中用于定义规则执行顺序的一种机制,它通过图形化的方式展现规则之间的执行顺序,使开发者能够更加直观地管理复杂的规则集合。规则流通常包含一系列节点和连接这些节点的边,每个节点...

    Drools5规则引擎开发教程

    规则流则用于控制规则的执行顺序和流程,可以根据业务需求进行灵活配置。 在Drools中,开发人员需要通过Drools的API或者使用Drools Expert或Drools Fusion的不同组件来创建、加载和执行规则。Drools Expert专注于...

    从Drools规则引擎到风控反洗钱系统V0.2.3

    - `agenda-group`: 控制规则的执行顺序。 - `activation-group`: 控制规则何时激活。 - `salience`: 定义规则的优先级。 - `timer`: 设置规则的定时触发机制。 - `calendar`: 定义规则的有效时间范围。 - `LHS`: ...

    drools规则引擎介绍

    你可以控制哪些规则集被激活,以及它们的执行顺序。例如,你可以让一组规则优先于另一组执行。 6.规则执行: 当 Activation 被放入 Agenda 并被激活时,规则引擎会执行相应的动作,这可能包括修改事实、插入新事实...

    Drools规则引擎用户手册

    **第二章 Drools规则引擎** Drools提供了规则编译、执行和管理的一系列组件,包括RuleBase(规则库)、WorkingMemory(工作内存)和不同类型的Session(有状态和无状态)。它还支持Agenda(议程)和Truth ...

    Drools规则引擎小结

    4. **Drools规则语言DRL** DRL(Drools Rule Language)是一种专用的规则定义语言,用于编写业务规则。DRL包含以下元素: - `package`:规则的命名空间。 - `import`:导入需要的类。 - `rule`:定义一条规则,...

    jsr94 Drools 规则引擎

    4. **规则流(Rule Flow)**:Drools的流程管理组件允许创建复杂的规则流程,通过控制规则的执行顺序来满足特定业务需求。 5. **决策表(Decision Table)**:Drools支持通过Excel或CSV格式的决策表来定义规则,...

    Drools5规则引擎开发教程.rar

    3. Agenda:议程是规则执行的调度器,它根据规则的优先级和激活状态来决定何时执行哪些规则。 4. EventProcessor Network (EPN):处理事件的网络,支持CEP(Complex Event Processing)功能,可以检测和响应复杂事件...

    规则引擎Drools使用手册(中文)

    #### 二、从Drools 3.0.x到Drools 4.0.x的迁移指南 Drools 4.0虽然带来了诸多新特性,但也伴随着一些向后兼容性问题。以下是关于从Drools 3.0.x迁移到Drools 4.0.x时需要注意的关键点: ##### 2.1 API变更 - **...

    Drools规则引擎介绍.pptx

    Drools的RuleFlow功能用于编排这些规则的执行顺序,创建了一个信用卡审批流程。 Drools的Guvnor是其规则管理系统的一部分,提供了规则的版本控制、在线修改和编译功能。通过Guvnor,开发人员和系统管理员可以方便地...

    Drools5规则引擎开发教程.pdf

    规则流则是对规则执行顺序的一种高级控制,它可以按照预定义的流程来执行规则。 接下来,书中会详细讲解Drools5的规则编写和管理,包括使用Drools Expert(规则推理引擎)和Drools Flow(规则流程引擎)的方式。...

    drools规则引擎4.0中文使用手册

    - **顺序执行模式**:支持规则的顺序执行模式,提高了规则执行的确定性。 - **全局变量转换器**:支持插件式的全局变量转换器,增强了系统的可扩展性。 ##### 2.3 IDE增强 - **规则断点支持**:在IDE中支持规则...

Global site tag (gtag.js) - Google Analytics