Drools - Ошибка сборки модуля kie программно с 50+ правилами - PullRequest
0 голосов
/ 09 мая 2019

Я получаю странную ошибку, когда программный модуль kie программно использует drool 7.20.Final.

Невозможно построить KieBaseModel: defaultKieBase [DialectError message = 'Невозможно связать скомпилированные классы, возможно, связано с ошибками компиляции: Невозможно подключить JavaDialect ']

Код получает наборы правил из базы данных.Странно то, что если набор правил содержит 49 правил, сборка завершается успешно.Только когда я добавляю дополнительное правило, эта ошибка выдается!?

Набор правил, который я использую, содержит 50 одинаковых правил:

package net.factuurcontrole.validate.invoice

import net.factuurcontrole.model.Invoice;

rule "Test - Rule 1"

    when
        Invoice()
    then
        // Something

end

rule "Test - Rule 2"

    when
        Invoice()
    then
        // Something

end

etc....

Код для сборки

KieServices kieServices = KieServices.Factory.get();
ReleaseId testReleaseId = kieServices.newReleaseId(KIE_GROUP_ID, KIE_CUSTOMER_VALIDATION_ID, String.valueOf(customerValidationSet.getVersion()));

KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
kieFileSystem.generateAndWritePomXML(testReleaseId);

String resourcePath = "src/main/resources/net/factuurcontrole/validate/invoice/";

for (ValidationRule validationRule : ValidationRuleLocalServiceUtil.getByValidationSet(validationSet.getValidationSetId())) {
    kieFileSystem.write(resourcePath + validationRule.getName() + ".drl", validationRule.getBody());
}

KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem);
kieBuilder.buildAll();

Anys предложения о том, как решить эту проблему?

...