2013-12-09 38 views
0
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.1ILOG動態規則集

回答

0

所有的Java實現都消失了,我們用IRL的語言,這是解決方案:

我們所界定的範圍,我們選擇的規則動態

scope= {exe.R05,exe.R04,exe.R03} 

body = dynamicselect() { 
    return selectedFunction(context.getRuleset().allRules); 
} 
0
body = dynamicselect() {  
    return selectedFunction(context.getRuleset().allRules);  
} 

足以定製您想要執行的規則。

1

只要小心動態選擇。如果您有很多規則,它可以顯着增加規則集的執行時間。