0

Tomcat 6 を使用して JSP アプリケーションを開発しています。

プロジェクトに Quartz Scheduler Framework と Log4J ライブラリを追加したため、Tomcat は再デプロイ時にこの例外をスローし始めました。

私は問題の原因について読んだことがありますが、今ではそれがクラス ローダーに関係している必要があることがわかりました。

したがって、一部のクラスを自動的にロードするロガー ライブラリが原因で問題が発生する可能性があると思います。

どうすればこの問題に対処できますか? クラスローダーが正しく動作することを確認するために、log4j.properties ファイルを使用せずにロガーをセットアップする別の方法があります。

4

1 に答える 1

4

1 つの方法は、次の JVM 引数を以下に追加して、permgen スペースを増やすことです。

-XX:MaxPermSize=256m

しかし、それは OOM エラーを遅らせるだけです。再デプロイを何度も行うと、permgen のメモリ不足が再び発生します。その理由はこの記事で非常に明確に説明されているので、ここでは繰り返しません。http://frankkieviet.blogspot.com/2006/10/classloader-leaks-dreaded-permgen-space.html . 申し訳ありませんが、この問題を回避するためにロガーを別の方法でセットアップする方法はありません。実際には、常に MaxPermSize を増やしてから、展開前にサーバーを循環させます。

于 2013-03-18T22:29:42.610 に答える