我想在议程组中使用StatelessKieSessionStatelessKieSession没有任何方法可以像常规AgendaGroup那样将焦点放在特定的KieSession上,如下所示

KieContainer kContainer = ks.newKieContainer(kr.getDefaultReleaseId());
KieSession kSession = kContainer.newKieSession();
kSession.getAgenda().getAgendaGroup("us").setFocus();


如何使用StatelessKieSession将焦点放在特定的议程组上?

最佳答案

您可以通过在drl文件中使用drools.setFocus()方法在StatelessKieSession中设置议程组。您必须明确地做的一件事是在Fact对象中声明一个变量,并为该变量分配议程组名称。规则示例如下:

rule "global"salience 100 when $rec : FactObject() then drools.setFocus($rec.getAgendaValue());end

给此规则一个高的显着性值,以便它首先被执行。检查this博客。他们所做的与您尝试做的相同。

关于java - 如何在StatelessKieSession流口水中设置议程组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50396587/

10-14 08:42