JavaEE7/CDIアプリケーションでChronicleMapを使用しています。会話の範囲は多く使われています。 マップを閉じるためにユーザーが会話を終了する場所を予測することは非常に難しいです。クロニクルマップが手動で閉じられていない、クリーナーからクリーンアップ
@PreDestroyメソッドですべてのインスタンスを閉じようとしていますが、明らかにすべてを閉じるわけではありません。
11:20:47,866 ERROR [net.openhft.chronicle.hash.impl.ChronicleHashResources] (Reference Handler) ChronicleMap{name=null, file=null, identityHashCode=1146047764} is not closed manually, cleaned up from Cleaner
が、それは手動でマップを閉じないように害ん。
次のエラーの結果は何ですか?
マップはまずクリーナーからクリーンアップされる前に閉じられていますか?
ありがとうございました
"明らかに私はそれらのすべてを閉じているわけではない"とはどういう意味ですか? PreDestroyはBeanを削除する前にコンテナによって呼び出されます。会話ごとに異なるクロニクルマップを開いていますか?それはあなたがマップで動作し、あなたの会話スコープの豆にそのサービスを注入するアプリケーションスコープサービスを持っている必要があるようです。 –
@ SergeyProkofievありがとうございます。私はあなたのアプリケーションやセッションの範囲の提案が好きです。 – kem
JavaEEアプリケーションは別のJavaSEアプリケーションに基づいています。両方とも多くのChronicleMapを使用します。私は@PreDestroyがJavaEEアプリマップインスタンスの仕事をしていると信じています。 JavaSEアプリケーション – kem