easy-rules中group有什么用给出一个代码样例
easy-rules中group用于将规则分组,方便对不同类型的规则进行管理和执行。例如,我们可以将所有与计算相关的规则放在一个组里,所有与用户权限相关的规则放在另一个组里。
以下是一个使用group的代码样例:
public class ExampleRules {
public void loadRules(KieContainer kieContainer) {
KieSession kieSession = kieContainer.newKieSession();
Group calculationGroup = Group.define("calculation");
Group authorizationGroup = Group.define("authorization");
// add rules to calculation group
kieSession.getAgenda().getAgendaGroup(calculationGroup.getName()).setFocus();
kieSession.insert(new CalculationFact(10, 5));
kieSession.fireAllRules();
// add rules to authorization group
kieSession.getAgenda().getAgendaGroup(authorizationGroup.getName()).setFocus();
kieSession.insert(new UserFact("admin"));
kieSession.fireAllRules();
}
}
在上面的代码中,我们定义了两个Group,一个是calculation,一个是authorization。然后我们将规则按照不同的Group添加到KieSession中。在执行规则时,我们可以通过设置不同Group的Focus来决定执行哪一组规则。
原文地址: https://www.cveoy.top/t/topic/bQkw 著作权归作者所有。请勿转载和采集!