drools的無狀態session怎么按照 特定的rule名稱執行
uj5u.com熱心網友回復:
public void fireRules(List<ClaimRuleInfo> claimRuleInfoList) {for (ClaimRuleInfo claimRuleInfo:claimRuleInfoList) {
if (ObjectUtils.isEmpty(claimRuleInfo.getRuleCodes())){
logger.error("保單號為【{}】的保單下沒有系結審核規則.........", claimRuleInfo.getClmAppInfoData().getGroupNo());
logger.info("保單[{}]執行規則結束.",claimRuleInfo.getClmAppInfoData().getGroupNo());
continue;
}
logger.info("執行規則開始..............");
KieSession kieSession = KieUtils.getKieContainer().newKieSession("ksession-common-rules");
FactHandle kieFactHandle = insertFact(kieSession, claimRuleInfo);
int count = kieSession.fireAllRules(new InsuredRuleAgendaFilter(claimRuleInfo.getRuleCodes()));
logger.info("公共規則,執行了{}條規則",count);
kieSession.delete(kieFactHandle);
kieSession.dispose();
}
}
private FactHandle insertFact(KieSession kieSession, ClaimRuleInfo claimRuleInfo) {
org.kie.api.runtime.rule.FactHandle factHandle = kieSession.insert(claimRuleInfo);
kieSession.setGlobal("logger", logger);
kieSession.setGlobal("commonServiceI", commonServiceI);
kieSession.setGlobal("DEATH_RESPONSE_LIST",Arrays.asList(getString("death.response.list").split(",")));
kieSession.setGlobal("DISABLED_RESPONSE_LIST",Arrays.asList(getString("disabled.response.list").split(",")));
kieSession.setGlobal("STRICK_RESPONSE_LIST",Arrays.asList(getString("strick.response.list").split(",")));
return factHandle;
}
uj5u.com熱心網友回復:
怎么把現在的有狀態 改成無狀態轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66247.html
標籤:Java相關
上一篇:小白學習Java(只為記錄學習歷程---第liu天)
下一篇:response用戶驗證
