Мы используем Drools более 10 лет, начиная с 3.0.6 и в настоящее время с 7.3.0. Финал.
У нас есть один модуль Maven с k-модулем, который содержит около 300 различных kieSessions в разных пакетах.
Вплоть до 7.7.0. Наконец, наш модуль правил скомпилируется нормально, т. Е. «Mvn clean package» создает Jrools-архив без каких-либо проблем.Однако когда я обновляю версию Drools в POM до 7.8.0. Наконец, я получаю много ошибок об уже определенных правилах.
У нас есть много файлов правил, содержащих одинаковые имена правил, но все они находятся в разныхпакеты и, следовательно, в разных kieSessions.И до 7.7.0. Наконец-то это работало нормально.
Я не смог найти ни одного намека в примечаниях к выпуску для 7.8.0.Финал, который описывает, почему компилятор не начинает жаловаться на дублирующиеся имена правил.
Кроме того, при использовании последней версии 7.14.0.Final показывает те же ошибки:
[ERROR] Failed to execute goal org.kie:kie-maven-plugin:7.8.0.Final:build (default-build) on project myproject: Execution default-build of goal org.kie:kie-maven-plugin:7.8.0.Final:build failed: Unable to get KieModule, Errors Existed: Error Messages:
[ERROR] Message [id=1, kieBase=defaultKieBase, level=ERROR, path=mypath/my-rules-file.drl, line=23, column=0
[ERROR] text=Duplicate rule name: MyRuleName]
В этом сообщении об ошибке выглядит странно - defaultBieBase.
Определение kmoduleдля этого сеанса выглядит так:
<kbase name="my-rules-base"
packages="my.package">
<ksession name="my-rules-session" type="stateless"/>
</kbase>