我在Drools示例中创建了新的包,并尝试通过以下方式创建kiesession:
KieServices kieServices = KieServices.Factory.get();
final KieContainer kc = kieServices.getKieClasspathContainer();
final KieSession ksession = kc.newKieSession("RecordKS");但是,创建的ksession为空。当我运行drools提供的其他示例时,它不为空
发布于 2019-07-31 04:53:49
文档中没有很好地解释的一点是,如果在创建KieBase时出现错误,Drools不会抱怨。您必须手动检查错误:
KieServices kieServices = KieServices.Factory.get();
final KieContainer kc = kieServices.getKieClasspathContainer();
//Check for errors
Results results = kc.validate();
if (results.hasMessages(Message.Level.ERROR)){
//notify about errors
}我的猜测是,确实有一些错误阻止了KieBase的创建,这就是返回的KieSession为空的原因。
希望能有所帮助,
https://stackoverflow.com/questions/57278987
复制相似问题