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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值