public void executeRules(IlrRule[] rules){
IlrRuleset rulesetNew = new IlrRuleset();
IlrContext ctxt = new IlrContext(rulesetNew);
IlrTask task = ruleset.getTask("ExecFlow#exe");
IlrRuleTaskRunner runner = ctxt.getRuleTaskRunner(task);
runner.setActiveRules(rules);
int fired = 0;
runner.runInitialActions();
fired += runner.runBody();
runner.runFinalActions();
}
我们如何从一组规则创建动态规则集?这个群体很有活力。 我正在使用IBM ODM 8.0.1
答案 0 :(得分:1)
请注意动态选择。如果你有很多规则,它可以显着增加规则集的执行时间。
答案 1 :(得分:0)
所有Java实现都消失了,我们使用 irl 语言,这就是解决方案:
我们定义了范围,并动态选择规则
scope= {exe.R05,exe.R04,exe.R03}
body = dynamicselect() {
return selectedFunction(context.getRuleset().allRules);
}
答案 2 :(得分:0)
body = dynamicselect() {
return selectedFunction(context.getRuleset().allRules);
}
足以自定义您要执行的规则。