java.lang.RuntimeException: Unexpected global [log]
at org.drools.core.impl.StatefulKnowledgeSessionImpl.setGlobal(StatefulKnowledgeSessionImpl.java:1163)
- 日间行车灯是从数据库字符串列表检索。
- 我们不使用kmodule.xml 继评论: 的DRL(最小化的设置,试图找到问题)加载顺利,但不知何故在其定义的全局,是不是。
KieSession创建代码从Drools的6.0.1迁移到Drools的6.3.0,最终得到了意外的全球[日志]错误
KieServices ks = KieServices.Factory.get();
KieRepository kr = ks.getRepository();
KieFileSystem kFileSystem = ks.newKieFileSystem();
int i=0;
for (String ruleId : drls.keySet()){
Resource resource = ks.getResources().newByteArrayResource(drls.get(ruleId).getBytes());
resource.setTargetPath("./out/"+ ruleId +".drl");
resource.setResourceType(ResourceType.DRL);
kFileSystem.write(resource);
}
KieBuilder kieBuilder = ks.newKieBuilder(kFileSystem);
kieBuilder.buildAll();
KieBuilder kieBuilder = ks.newKieBuilder(kFileSystem);
kieBuilder.buildAll();
if (kieBuilder.getResults().hasMessages(Message.Level.ERROR)) {
log.error(PolicyUtils.createMsg("DRL Errors:\n" + kieBuilder.getResults().toString()), context, null, null);
throw new RuntimeException("DRL Errors:\n" + kieBuilder.getResults().toString());
}
kContainer = ks.newKieContainer(kr.getDefaultReleaseId());
kContainer.newKieSession();
你确认你正在创建的KieBase不包含任何错误?为了完整起见,您可以发布以下内容:您的DRL文件的结构,您的kmodule.xml以及您用于构建KieBase的代码。 –
@EstebanAliverti由于会议是从一个空的规则库(无论是什么原因)创建的,人们在圈子中运行,在其他地方追逐错误,浪费了很多时间,我和其他人。为什么没有例外? – laune