3

spring、hibernate、jsf などを使用するアプリケーションを実行しています。このアプリケーションは、ha-jdbc も使用してデータベースの可用性を高めています。アプリケーションが初めてデプロイされると、アプリはスムーズに実行されますが、デプロイを解除して再度デプロイすると、Tomcat は次のエラーを返します。

次の Web アプリケーションは停止 (リロード、アンデプロイ) されましたが、以前の実行のクラスがまだメモリにロードされているため、メモリ リークが発生しています (プロファイラーを使用して確認してください)。

この問題を取り除く方法を考えています。天才?

前もって感謝します。

4

1 に答える 1

5

プロファイラーを使用し(visualvmが実行します)、ヒープスナップショットを実行し、残りのオブジェクトを見つけ、参照チェーンを見つけ、それらがまだ参照されている理由を考えます。

または、デプロイメントごとにtomcatを再起動します。

于 2011-02-10T15:37:57.233 に答える