フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:00_インストール・設定
Apache+Tomcat環境:深夜の再起動バッチ(.bat+タスクスケジューラ)作成について
[ 5732 ] Apache+Tomcat環境:深夜の再起動バッチ(.bat+タスクスケジューラ)作成について

-環境-
Windows Server 2008 R2
Apache/2.2.25
Apache Tomcat 7.0.42 Server
GroupSession 4.2.4

-作成バッチ-
http://ingwer-design.com/blog/jsp/bat.html を参考に

1.Apache の終了
2.Tomcat の終了
3.Tomcat の開始
4.Apacne の開始

という形に変更。

-事象-
作成したバッチを手動でたたくとログに以下が記録される

2.Tomcat の終了 時のログ

エラー番号:2
「指定されたファイルが見つかりません。」


-試したこと-
管理者で実行のコマンドプロンプトで
「net stop tomcat7」を実行

C:\Windows\system32>net stop tomcat7
Apache Tomcat 7.0 Tomcat7 サービスを停止中です....
Apache Tomcat 7.0 Tomcat7 サービスを停止できませんでした。

となる。

すぐに スタートボタン>管理ツール>サービス で
Tomcatの状態をみると「停止処理中」

1分後ぐらいに確認すると、停止している。

時間が経てば、終了している?

-試したこと2-
 「Tomcat 停止処理中」「Tomcat 停止できない」等でググり以下のページにたどりつく
 ・http://yamagu.mo-blog.jp/weblog/2009/01/tomcatshutdown_81ad.html
 ・http://d.hatena.ne.jp/hogem/20091018/1255877456
 
hosts ファイルを確認 → すべての行コメントアウト状態
portの確認 → ぶつかってはいない(参考:http://sinsengumi.net/blog/2011/01/windows%E3%81%A7%E3%81%A9%E3%81%AE%E3%83%9D%E3%83%BC%E3%83%88%E3%81%8C%E4%BD%95%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95/

-気になる事実-
catalina.yyyy-mm-dd.log が停止処理の際に以下を出力

12 18, 2013 1:59:51 午後 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
重大: The web application [/gs] registered the JDBC driver [org.h2.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
12 18, 2013 1:59:51 午後 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
重大: The web application [/gs] appears to have started a thread named [H2 File Lock Watchdog C:(Tomcatインストールフォルダ)/gs/WEB-INF/db/gs2db/gs2db.lock.db] but has failed to stop it. This is very likely to create a memory leak.

上の重大は、英語のサイトでJDBCチームが直すまで待ちましょう!の様なコメントを見つけました
下の重大は、TomcatはTomcat6からこういうアラートを出すようになりました。という情報をみつけたんですが、このアラートがでたら、○○という対処をしましょうという情報までは見つけられませんでした。

-質問-
長くなりましたが、上記の方法でこうすればいい!
または、Apache+Tomcatの再起動ならもっと簡単な方法がある!等ありましたら

ご教示いただけると幸いです。
何卒よろしくお願い致します。

投稿者にんにん
最新書き込み2013/12/18 14:41:52
[ 5733 ] Re: Apache+Tomcat環境:深夜の再起動バッチ(.bat+タスクスケジューラ)作成について

リークの処理で時間がかかっているのではないでしょうか。

マシン構成等を見なければなんとも言えませんが…

こちらが参考になると思います。
http://www.atmarkit.co.jp/ait/articles/1106/24/news113_2.html


kon@embedded property

投稿者kon
最新書き込み2013/12/18 16:28:07
[ 5734 ] Re: Apache+Tomcat環境:深夜の再起動バッチ(.bat+タスクスケジューラ)作成について


konさん
返信ありがとうございます。

教えていただいたURLを読みました。
が、読んだ後に次の一手に踏み出せる程の知識がなく詰まっております。

関連するかと思うページを読んでまわり、以下のページにたどり着きました。
http://www.atmarkit.co.jp/ait/articles/0711/27/news122_3.html

図17の「Tomcatプロセス」の中にある「JMX」の中の「灰色の●」
これを終了処理するのに時間がかかっているということなのかな、とイメージしているところです。

もう少し調べてから、実際手を動かすつもりですが

・方向性が違う
・便利な調査ツールがある
・Apache+Tomcatの再起動ならもっと簡単な方法がある
・その他アドバイス

等ございましたら、皆様、ご教示いただけると幸いです。
何卒よろしくお願い致します。

にんにん

投稿者にんにん
最新書き込み2013/12/19 15:44:59
[ 5740 ] Re: Apache+Tomcat環境:深夜の再起動バッチ(.bat+タスクスケジューラ)作成について

すっきり解決とはいきませんでしたが、
以下の対応で様子を見ていくことにしました。

作成バッチを2分割

-終了バッチ―
1.Apache の終了
2.Tomcat の終了

-開始バッチ-
1.Tomcat の開始
2.Apacne の開始

という形に変更。

終了バッチを夜中にWindowsタスクスケジューラで実行
15分後に、開始バッチをWindowsタスクスケジューラで実行

これにより再起動処理としました。

> -試したこと-
> 管理者で実行のコマンドプロンプトで
> 「net stop tomcat7」を実行
>
> C:\Windows\system32>net stop tomcat7
> Apache Tomcat 7.0 Tomcat7 サービスを停止中です....
> Apache Tomcat 7.0 Tomcat7 サービスを停止できませんでした。
>
> となる。
>
> すぐに スタートボタン>管理ツール>サービス で
> Tomcatの状態をみると「停止処理中」
>
> 1分後ぐらいに確認すると、停止している。

上記を20回くらい試したのですが
1分後には停止していたため、15分あけて開始バッチを流せば良しとしました。


2014年1月は現行システムとの平行運用
2014年2月は本番運用
のスケジュールで動いています。
また何かありましたら、よろしくお願いいたします。

にんにん

投稿者にんにん
最新書き込み2013/12/27 14:34:10
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=1&threadSid=1956
 


TOP