流口水5.1内存问题

时间:2012-02-29 11:42:33

标签: java memory-leaks drools

流口水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 个答案:

答案 0 :(得分:1)

我做了大量的分析,并没有在Drools 5.1中发现任何内存泄漏。如果您正在使用有状态会话,请确保在使用后调用dispose()。如果可能的话,也建议使用缓存kbases,但是按需创建它们不应该泄漏内存。

除此之外,它就像任何其他Java应用程序一样。使用分析器查找将对象实例保留在内存中的类(如果有)。