Drools kiebuilder.buildall () и abstractkieproject.verify () работает слишком медленно

У меня есть файл xls с 500 правилами. Когда я звоню KieService.newKieBuilder(kieFileSystem).buildAll(), это занимает более 2 минут. Много времени уходит на PomModel.init() и KieModuleKieProject.verify(ResultImpl).

Это очень медленно. Как я могу это обойти (это лучше без устаревших методов / классов)?

Мой код взят из примеров слюни и выглядит так:

    KieFileSystem kieFileSystem = kieServices.newKieFileSystem();
    kieFileSystem.write(ResourceFactory.newClassPathResource("MyRules.xls"));

    KieBuilder kb = kieServices.newKieBuilder(kieFileSystem);
    kb.buildAll();
    KieModule kieModule = kb.getKieModule();
    KieContainer kContainer = kieServices.newKieContainer(kieModule.getReleaseId());

    kContainer.newKieSession();

Я как бы наблюдаю такое же поведение. Вам не удалось найти обходной путь.

VGaur 10.05.2021 13:41
2
1
226
1

Ответы 1

Тормозит из-за ParseTools.findClass (mvel2). Он пытается найти элемент правила в ContextClassLoader. В моем случае ClassLoader имеет очень много классов, и это снижает производительность.

Другие вопросы по теме