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
За пределами сигналов Angular: Сигналы и пользовательские стратегии рендеринга
За пределами сигналов Angular: Сигналы и пользовательские стратегии рендеринга
TL;DR: Angular Signals может облегчить отслеживание всех выражений в представлении (Component или EmbeddedView) и планирование пользовательских...
Sniper-CSS, избегайте неиспользуемых стилей
Sniper-CSS, избегайте неиспользуемых стилей
Это краткое руководство, в котором я хочу поделиться тем, как я перешел от 212 кБ CSS к 32,1 кБ (сокращение кода на 84,91%), по-прежнему используя...
2
1
226
1

Ответы 1

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

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