首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 8,Drools 5.x和Drools 7.x

Java 8,Drools 5.x和Drools 7.x
EN

Stack Overflow用户
提问于 2018-05-24 14:03:50
回答 1查看 1.3K关注 0票数 0

对于我的Java作业,我使用Drools 5.x (drools-编译器5.2.1.Final、drools-决策表5.4.0.Final和drools-模板5.4.0.Final;jbpm-flow 5.1.Final、jbpm-bmpn25.1.Final及其各自的依赖项)。我现在的装置正常工作。我正在使用决策表(电子表格)。

如前所述,我能够使用drools 5.x使用Java 1.8.0_162构建/运行我的项目;但是,当java作业运行时,它加载决策表(电子表格),但它不会触发任何规则,在最后一行中不会得到执行的异常:

代码语言:javascript
复制
Properties props = new Properties();

KnowledgeBuilderConfiguration configuration = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(props);

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newDecisionTableConfiguration(configuration);

DecisionTableConfiguration config = KnowledgeBuilderFactory.newDecisionTableConfiguration();

config.setInputType(DecisionTableInputType.XLS);

kbuilder.add(ResourceFactory.newClassPathResource(spreadsheetFile), ResourcType.DTABLE, config);  // last line executed and then job exists and completes successfully.

在执行最后一行之前,我放置了一些调试日志,它们显示了以下内容:

属性(道具):{} org.drools.compiler.PackageBuilderConfiguration@630cb4a4 (配置):KnowledgeBuilderConfiguration org.drools.builder.impl.KnowledgeBuilderImpl@239bof9d (kbuilder):KnowledgeBuilder ResourceFactory.newClassPathResource(spreadsheetFile):ClassPathResource path=‘ClassPathResource Sheet.xls’ ResourceType.DTABLE: ResourceType =“决策表” org.drools.builder.conf.impl.DecisionTableConfigurationImpl@150ab4ed ( DecisionTableConfiguration (Config)) DecisionTableConfiguration (config.getInputType()):XLS

因此,我决定从drools 5.5.0升级到7.5.0,并使用kie-api/ KIE -ci;我不得不进行一些重构,因为drools现在是KIE(知识就是一切)伞的一部分,参见下面的代码:

代码语言:javascript
复制
KieServices ks = KieServices.Factory.get();
KieContainer kc = ks.getKieClasspathContainer();
KieSession ks = kc.newKieSession("ksession-dtables");  //stateful session
FactHandle fh = ks.insert(fact);
ks.fireAllRules();

……

包和规则被加载到知识库中,但是只有第一个规则启动,然后停止,我是否需要升级我的决策表(电子表格)才能使用Java 8处理drools 7.5.0?

欢迎任何建议。

谢谢!!

EN

回答 1

Stack Overflow用户

发布于 2018-06-14 16:41:02

我开始使用drools 6.5.0,现在一切都正常了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50511357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档