繁体   English   中英

如何从Java调用引导式决策表?

[英]How to Call guided decision table from java?

KieServices ks = KieServices.Factory.get();

KieResources resources = ks.getResources();


String url = messageSource.getMessage("merchant.drool.engine.url", null, Locale.US);
UrlResource urlResource = (UrlResource) resources.newUrlResource(url);
urlResource.setUsername(messageSource.getMessage("merchant.drool.engin.username", null, Locale.US));
urlResource.setPassword(messageSource.getMessage("merchant.drool.engin.password", null, Locale.US));
urlResource.setBasicAuthentication(messageSource.getMessage("merchant.drool.engin.basicauth", null, Locale.US));

logger.info("DTR BATCH: Downloading... kie jar started.");

InputStream stream = urlResource.getInputStream();

KieRepository repo = ks.getRepository();
KieModule k = repo.addKieModule(resources.newInputStreamResource(stream));
KieContainer kieContainer = ks.newKieContainer(k.getReleaseId());

KieScanner kieScanner = ks.newKieScanner(kieContainer);
kieScanner.start(5000L);

KieSession kSession = kieKontainer.newKieSession();

MyDataObject mObj = new MyDataObject();
kSession.insert(mObj);
System.out.println("Fired rules: " + kSession.fireAllRules());

我们在流口水引擎侧创建了一个指导性决策表。 我正在从Java代码调用决策表(gdst)。 上面的代码正在执行,没有任何错误,但是并没有更新mObj中的数据。 Drool正在返回我们传递的同一对象。

在此链接中,[1]显示了如何从GDST构建KieBase 然后,您仅是获得KieSession第一步,例如:

kieBase.newKiewSession();

[1] https://github.com/droolsjbpm/drools/blob/master/drools-workbench-models/drools-workbench-models-guided-dtable/src/test/java/org/drools/workbench/models/guided /dtable/backend/GuidedDTableParsingIntegrationTest.java

kSession.fireAllRules()方法返回int,即执行的规则数。 要确认是否执行了规则,可以在执行fireallrule方法后打印“ int”值。

以上问题中的代码工作正常,只需要更新maven依赖项即可。

<dependency>
  <groupId>org.kie</groupId>
  <artifactId>kie-ci</artifactId>
  <version>6.5.0.Final</version>
</dependency>
<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-workbench-models-guided-dtable</artifactId>
    <version>6.5.0.Final</version>
</dependency>
<dependency>
    <groupId>org.kie</groupId>
    <artifactId>kie-api</artifactId>
    <version>6.5.0.Final</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM