備忘録 the next generation

2014年末にOCN(http://yamagu.mo-blog.jp)からこちらに移転しました。

TomcatがShutdownできない問題

2009-01-14 11:08:33 | 開発

Tomcatを終了しようとすると、シャットダウンできないという問題で困っていた。
厳密には、シャットダウンできないのではなく数十秒後には
シャットダウンしているのだが、その時に以下のようなメッセージが出て
終了していた。

日本語のログでは
致命的: プロトコルハンドラの一時停止に失敗しました
java.net.ConnectException: Connection timed out: connect

英語なら
SEVERE: Protocol handler pause failed
  java.net.ConnectException: Connection timed out: connect

Googleで調べてみると、ポートがぶつかっているか
または使っていないポートの接続を待っているかのような気配。

1. とりあえず、server.confの以下のようなAJPの箇所をコメントアウトして、
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

2. さらに8443ポートあたりが臭いので、これを8444などに変更した。
redirectPort="8443"

2番は、1台のサーバ上で複数のTomcatを動かしている場合には
問題になりそうなポイントだ。

この2点のどっちが利いているいるのかは不明だが、
とりあえず即時shutdownできるようになった。

------

2011-03-02追記

Tomcatがシャットダウンできないという問題で、Googleから訪れる方が多いようなので、一般論を追記します。

Tomcatがシャットダウンできない場合、原因はいくつか考えられますが、catalina.outなどのログを見ても問題が見当たらないような場合は何かのスレッドが終了せずに残っていることが多いと思います。UNIXなどの場合はまずはkill -QUIT [PID]などとしてシグナルを送信してスレッドダンプを取り、どのようなスレッドが残っているのか確認するところが手始めでしょうか。


最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
多分ですが、 ()
2010-02-19 01:05:56
多分ですが、
/etc/hosts ファイルに
自ドメインを別IPにバインドしたりしてしまう設定があると、
上記の現象が起きるみたいです。
返信する

コメントを投稿