- 締切済み
Tomcatは2、3日に1回再起動が必要なのでしょうか?
こんにちは。 現在Servlet、JSP、HTMLを用いて、webアプリケーションを作成しています。 トップページがHTMLでHTML→Servlet→JSPのように処理が流れます。Tomcatを起動仕立て~1日位は問題なく動作するのですが、Tomcatを起動したまま2,3日経つとトップページのHTMLを開くと、下記のエラーが発生しました。 --------------------------------------------------- エラー内容: java.lang.IllegalStateException: Can't happen - classname is null, who added this ? --------------------------------------------------- このエラーに対して、Tomcatの再起動をすると、エラーも表示されなくなり、通常通り動作しました。 そこでわからないのですが、Tomcatではwebアプリケーションを継続的に運用するには、2、3日に1回はTomcatの再起動をしないといけないのでしょうか? それともserver.xmlの設定の問題なのでしょうか?server.xmlの中身を見たのですが、それらしきものを見つける事ができませんでした。 ちなみにTomcatのバージョンは3.2.4で、RedHatLinux7.2、JDK1.4.0です。 何か分かることがありましたら、ご教授お願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kamkamkam3
- ベストアンサー率42% (216/514)
私も詳しいことは知りませんが、2~3にちに一度ということではなく、たとえばXMLやらJDBCやらをトムキャットを使い表示する場合、コンパイルした後トムキャットとアパッチを順番に再起動する必要があると本に書いてあります。 「再起動が必要」といろいろな本のいろいろな箇所で見られたので、(立ち読みなので具体的には分からないです。)うまくいかないときにはトムキャット→アパッチの順で再起動するとうまくいくかもしれません。 あと、アパッチの設定を記述するapache/conf/httpd.confというファイルを変更した後も、上記の再起動が必要です。 詳しいことが分かったら、また返事を書きます。
補足
回答ありがとうございます。 Tomcatの再起動について自分も参考書等を読んで調べたのですが、 サーブレット(*.java)を (1)編集して (2)コンパイルして (3)クラスファイルを再配置して サーブレットを実行する際にはTomcatの再起動が必要とのことでした。 ですので、サーブレットを編集してコンパイルし、クラスファイルを再配置してサーブレットを実行する際にTomcatの再起動を行っているのですが、今回はこの2~3日の間にサーブレット等を編集したりするわけではなく、何も行っていない状態(トップページのHTMLファイルにアクセスしていない状態)です。 なぜ質問時のようなエラーが表示され、それがTomcatの再起動でうまくいくのかがよく分かりません。