gpt4 book ai didi

java - 当流口水规则的一部分时使用全局变量

转载 作者:行者123 更新时间:2023-12-02 03:14:30 24 4
gpt4 key购买 nike

我已在规则文件中声明了类型为“Employee”的全局变量。我必须编写一条规则,在其中可以将全局员工对象的某些字段与“人员”对象的字段进行比较。我怎样才能做到这一点 ?我尝试过以下规则,但不起作用:

global Employee emp;

rule "abc"
when
$person : Person(joinDate == null , emp.joinDate != null , notify == false)
then
$person.setNotify(Person.NOTIFY);
update($person);
end

rule "cde"
when
$person : Person(joinDate != null , ! joinDate.equals(emp.joinDate) , notify == false)
then
$person.setNotify(Person.NOTIFY);
update($person);
end

如何将一个 bean 的属性与我作为全局变量注入(inject)的另一个 bean 的属性进行比较?

最佳答案

很可能您更改了全局 emp 的值并期望触发规则,但这是不允许的。

全局可以在条件下使用,但假设它们保持稳定,因为规则引擎无法知道全局已更改。

如果您希望规则对不断变化的数据使用react,请插入事实。这就是我们拥有它们的原因。

关于java - 当流口水规则的一部分时使用全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40503544/

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