0
メモリがリークする可能性がありますか? 私たちはJavaコードを呼び出す際に複雑な検証規則を使用しています。 バックエンドへの各リクエストには、2-3回のダウンロードファイルと新しいKnowledgeBaseがリクエストごとに作成されます。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の5.1のいずれかのメモリリークが見つかりませんでした液垂れルール
メモリベースでDroolsアプリケーションのプロファイリングを覚えているわけではありませんが、ナレッジベースが重視されていることは文書化されています。なぜあなたはリクエストごとに新しいものを作成していますか?通常は、アプリケーションの起動時に1 KBを初期化し、アプリの存続期間中に再利用します。 – Perception
はい、あなたのセッションはどうですか?リクエストごとにKBaseとKSessionを作成していますか? CHeers – salaboy
@salaboyはいリクエストごとにKBaseとKSessionを作成しています – Vish