0
可否流口水5.1会导致内存泄漏问题? 我们在调用java代码的地方使用复杂的验证规则。 每个请求都会为每个请求创建后端加载2-3流口水文件和新知识库的请求。Drools 5.1内存问题
任何人都可以对此有更多的了解吗?
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();
}
这是我们的口水规则
我不记得我们在记忆方面对我们的Drools应用程序进行了描述,但是这是一个有据可查的事实,知识库是一个沉重的重量。你为什么要为每个请求创建一个新的?通常,您在应用程序启动时初始化一个KB,然后在应用程序的整个生命周期中重新使用它。 – Perception 2012-02-29 12:02:47
是的,你的会话呢?您是否为每个请求创建了一个KBase和一个KSession? CHeers – salaboy 2012-02-29 13:04:43
@salaboy是的,我们正在创建一个基于每个请求的KBase和一个KSession – Vish 2012-03-01 07:42:29