gpt4 book ai didi

java - 了解议程组的锁定 Activity

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:13 24 4
gpt4 key购买 nike

我尝试了一个示例来了解锁定 Activity 的工作原理。当我在不使用议程组的情况下触发规则时,一切似乎都很好。但是,当我取消注释下面代码中的议程组并将焦点设置为组“B 组”时,不会触发任何规则。

规则

rule "Additional Rs.1 tax for books above Rs.10"

//agenda-group "Group B"
lock-on-active true
when
$o: Product(name=="Book",amount>10)
then
System.out.print($o.getAmount()+"-->");

modify ($o) {
setAmount($o.getAmount()+1);
}

System.out.println($o.getAmount());
end

rule "Additional Rs.2 tax for books above Rs.20"

//agenda-group "Group B"
lock-on-active true
when
$o: Product(name=="Book",amount>20)
then
System.out.print($o.getAmount()+"-->");
modify ($o) {
setAmount($o.getAmount()+1);
}

System.out.println($o.getAmount());
end

用于触发规则的代码

KieServices kieServices=KieServices.Factory.get();
KieContainer kieContainer=kieServices.getKieClasspathContainer();
KieSession kieSession=kieContainer.newKieSession("ksession-lockOnActive");

Product product=new Product();
product.setName("Book");
product.setAmount(11);

Product product2=new Product();
product2.setName("Book");
product2.setAmount(21);

kieSession.getAgenda().getAgendaGroup("Group B").setFocus();

kieSession.insert(product);
kieSession.insert(product2);
kieSession.fireAllRules();

不带议程组的输出

21-->22
11-->12
22-->23

最佳答案

我使用的是旧版本的 Drools(6.2.0 Final)。当我将其更改为7.4.1时。代码有效

关于java - 了解议程组的锁定 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47827625/

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