gpt4 book ai didi

java - 执行规则时如何更改 drools 对象状态

转载 作者:行者123 更新时间:2023-12-02 02:56:17 25 4
gpt4 key购买 nike

执行时 Drools 对象未更新。

我尝试在执行规则的过程中改变drools事实,但是,即使我使用update(),对象的属性在LHS中也没有更新。

(1) 我创建一个新对象,例如:Person p=new Person(8,"女");

(2) 我假设当通过rule_1时,此人的性别将更改为“男”

rule "rule_1"
salience 1
lock-on-active true
when
$person : Person (age < 10)
then
$person.gender = "male";
update($person);
end

rule "rule_2"
salience 1
lock-on-active true
when
$person : Person (gender == "male" )
then
System.out.println($person.gender);
update($person);
end

rule_2 不执行。有谁可以帮助我

最佳答案

问题出在您正在使用的lock-on-active 属性上。它基本上是在执行规则时阻止新的规则激活。

这个other question更好地解释了 lock-on-active 的工作方式。

希望对你有帮助

关于java - 执行规则时如何更改 drools 对象状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57072793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com