java - 将 drools guvnor 5.5 升级到 drools 6.0

标签 java drools jbpm drools-guvnor

我使用的是 drools 版本 5.4,并且我使用了changeset.xml 的 url 从我的 java 代码中调用 drools-guvnor。

现在我正在升级到drools 6.0工作台版本(如果使用camel版本请告诉我),如何从我的java代码中调用drools工作台。

谢谢 加内什·尼勒卡尼

最佳答案

Drools 6 中的一切都已变得 Maven 化。您无需访问changeset.xml 文件,而是使用新的Kie API 来引用您的规则所在的Maven 工件。

首先,您将规则打包为“kjar”(请参阅​​ this article for more info about kjars )。然后,在您的应用程序中,您需要添加以下依赖项:

<dependency>
    <groupId>org.kie</groupId>
    <artifactId>kie-ci</artifactId>
    <version>${drools.version}</version>
</dependency>

然后,为了在运行时动态加载规则,您可以使用 ResourceChangeScanner 的替代品(称为 KieScanner)

ReleaseId releaseId = KieServices.Factory.get().newReleaseId( "com.acme", "my-rules", "0.0.1-SNAPSHOT" );
KieContainer kc = KieServices.Factory.get().newKieContainer( releaseId );
KieScanner kscanner = KieServices.Factory.get().newKieScanner( kcontainer );
kscanner.scanNow() // this will dynamically resolve the rules artifact and build it

从那时起,您可以使用附加到该扫描仪的 kcontainer 来创建 KieSession。通过调用 scanNow(),您将告诉扫描仪轮询该工件以了解更改。它将自动构建检测到的对该工件的更新。您还可以通过再次调用 scanNow() 来强制重建。

关于java - 将 drools guvnor 5.5 升级到 drools 6.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23629232/

相关文章:

java - 在 Android Studio 中重构变量访问? (委托(delegate)给方法)

java - 如何配置 Drools 与 JBOSS 一起运行?

java - 电子表格决策可以被打破吗?

java - Junit 测试不适用于 Drools 5.4.0.Final 和 JDK 8

java - JBPM6 安装问题 - Jboss 服务器和 eclipse 未打开

java - Grails 从请求中提取正文数据

Java:在编译时使用注释生成自定义 Java 代码

java - 用于将值插入 Db 的字符串格式

java - 在 Tomcat 中部署 jBPM 7.8.0 - 无法使用 tomcat 用户登录

java - 如何改变工作流程?