我在spring项目中使用Drools7.5.0-决赛。
我正在做一个多模块的分级项目。子模块项目中存在规则和kmodule.xml .这个模块在一个胖弹簧引导Jar文件中打包为一个Jar。
<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://jboss.org/kie/6.0.0/kmodule">
<!-- <configuration>
<property key="drools.propertySpecific" value="ALLOWED"/>
</configuration> -->
<kbase name="rules.employee.tax" packages="uk.gov.hmrc.itmp.service.application.rules.employee.tax" >
<ksession name="rules.employee.tax.session" type="stateful" />
<ksession name="rules.employee.tax.statelesssession" type="stateless" />
</kbase>
</kmodule>我在用类路径建造容器。
KieContainer kContainer = kieService.newKieClasspathContainer();在服务器启动(java -jar)上,它加载Kmodule.xml并打印所有kbase和sessionName。
但当我触发规则时,它会返回zero rules fired.
--当我从Eclipse.运行春季引导应用程序时,它工作得很好,请帮助。
发布于 2020-01-05 20:47:19
这是Drools中的错误,并且已经在JIRA:sscc=t中解决了。
发布于 2018-09-28 15:51:34
这似乎是KieServices和SPring启动罐中的一个bug。这里发布了一项工作:https://groups.google.com/forum/#!topic/drools-usage/odQjmBess5A
基本上,配置插件来解压kie jar。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<requiresUnpack>
<dependency>
<groupId>com.sample</groupId>
<artifactId>kproject1</artifactId>
</dependency>
<dependency>
<groupId>com.sample</groupId>
<artifactId>kproject2</artifactId>
</dependency>
</requiresUnpack>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>发布于 2019-01-29 19:43:39
确保您有以下依赖项
implementation group: 'org.kie', name: 'kie-api', version: '7.16.0.Final'
implementation group: 'org.drools', name: 'drools-core', version: '7.16.0.Final'
implementation group: 'org.drools', name: 'drools-compiler', version: '7.16.0.Final'
implementation group: 'org.kie', name: 'kie-spring', version: '7.16.0.Final'并删除spring-boot-devtools依赖项(如果有)。
(这对我起了作用。)
https://stackoverflow.com/questions/48667915
复制相似问题