我使用DroolsVersion5.4,并使用changeset.xml的url从我的java代码中调用drools。
现在我正在升级到drools 6.0工作台版本(如果使用camel版本,请告诉我),如何从我的java代码中调用drools工作台。
谢谢Ganesh Neelekani
发布于 2018-03-16 19:17:00
所有流口水的东西都成了马文化了。而不是访问changeset.xml文件,而是使用新的Kie来引用您的规则所在的Maven工件。
首先,将规则打包为"kjar“(参见有关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从那时起,您可以使用连接到该扫描仪的k容器来创建KieSessions。通过调用scanNow(),您可以告诉扫描器轮询该工件以了解更改。它将自动构建它检测到的对该工件的更新。还可以通过再次调用scanNow()强制重新构建。
https://stackoverflow.com/questions/23629232
复制相似问题