2010-12-14 21 views
0

Tomcatバージョン5.0.28を使用しています。ヒープダンプを解析していました。これは、メモリリークがBodyContentImplオブジェクトによるものであることを示しています。これは、タグ間にjspの内容をキャッシュしているように見えます。 また、そのバージョンに問題があることがわかりました。データを保持するために内部的に使用するバッファはリセットされません。 Tomcatの後のバージョンでは、バッファを制限するオプションがあります。BodyContentImpl jspタグメモリリークの問題

私が知りたいのは、BodyContentImplが実際に何をしているのですか、それはタグまたはデータをキャッシュしているかどうかです。 動的に変化するJSPでどのように役立つでしょうか。

+0

のTomcat 5.0は非常に古いですが、たとえば参照してください。これをオフにするには、アップグレードすることができます...(これは今まで5.5.xから5.0.xにするためにバックポートされた場合は、私はわかりませんか)? – skaffman

+0

あなたは私の質問を理解していませんでした。 – John

答えて

3

はい、JSPタグのものがキャッシュされます。具体的には、「JSPカスタムタグプーリング - JSPカスタムタグ用にインスタンス化されたJavaオブジェクトをプールして再利用できるようになりました。これにより、カスタムタグを使用するJSPページのパフォーマンスが大幅に向上します。

はcatalina.properties(またはCATALINA_OPTS)

org.apache.jasper.runtime.JspFactoryImpl.USE_POOL = falseを org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER =真

に追加無効にするには

Tomcat 5.5 Configuration