Drools 5.1 проблемы с памятью - PullRequest
       15

Drools 5.1 проблемы с памятью

0 голосов
/ 29 февраля 2012

Может ли drool 5.1 вызвать проблемы с утечкой памяти?Мы используем сложные правила проверки, когда мы вызываем Java-коды.Каждый запрос на бэкэнд загружает 2-3 файла drool, и для каждого запроса создается новая база знаний.

Кто-нибудь может пролить свет на это?

private void initRulesEngine() {
    kbase = KnowledgeBaseFactory.newKnowledgeBase();
    if (kbuilder != null) {
        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
    }
}

public void executeRules(BaseUOW requestedUOW) {
    initRulesEngine();
    ksession = kbase.newStatefulKnowledgeSession();
    ksession.insert(requestedUOW);
    ksession.fireAllRules();
}

Это наш код для правил Drool

1 Ответ

1 голос
/ 29 февраля 2012

Я много профилировал и не обнаружил утечки памяти в Drools 5.1. Если вы используете сеансы с состоянием, убедитесь, что вы вызываете dispose () после их использования. Кэширование базы данных также рекомендуется, если это возможно, но создание их по требованию не должно в любом случае вызывать утечку памяти.

Кроме того, это так же, как любое другое приложение Java. Используйте профилировщик, чтобы узнать, какой класс (если есть) сохраняет экземпляры вашего объекта в памяти.

...