【问题标题】:Drools Execution, get number of retractedDrools 执行,获取撤回的数量
【发布时间】:2014-09-15 10:28:30
【问题描述】:

我正在尝试返回 drools 会话执行的撤回次数。

我可以获得执行次数:

...
final Command fireAllRulesCmd = CommandFactory.newFireAllRules("executed-rules");
cmds.add(fireAllRulesCmd);
...
session.execute(CommandFactory.newBatchExecution(cmds));
final Integer executedRules = (Integer) execute.getValue("executed-rules");
....

有没有类似的方法来获取所有的“retracted-rules”?

谢谢!!

问候

【问题讨论】:

    标签: java drools business-rules drools-guvnor


    【解决方案1】:

    实现org.kie.api.event.kiebase.KieBaseEventListener,并在方法afterRuleRemoved 中计算事件:

    class MyKieBaseEventListener implements KieBaseEventListener {
        private int removedRules;
        public void afterRuleRemoved(AfterRuleRemovedEvent event){
            removedRules++;
        }
        public int getRemovedRules(){
            return removedRules;
        }
        // other methods
    }
    

    您必须将此侦听器附加到 KieBase。

    kieBase.addEventListener( new MyKieBaseEventListener() );
    

    【讨论】:

    • 我用的是5.4.0.Final of drools,KieBaseEventListener和KnowledgeAgentEventListener一样吗?谢谢!!!
    • 在 5.4 中,名称是 KnowledgeBase...org.drools.event.knowledgebase
    猜你喜欢
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 2023-01-31
    • 2023-03-25
    相关资源
    最近更新 更多