●Deployer(デプロイヤ)としてのTomcat ~設定ファイル編(2)~

※前編の「~設定ファイル編(1)~」はこちら。
-----
◆server.xmlとコンテキストXMLファイルについて
私がTomcatを使い始めた頃はまだ3.0.xの頃で、コンテキストファイルでの設定なんて知らなかった。
web.xmlにアプリごとの設定を書いて、サーバ全体の設定はserver.xmlに書く、という認識だった。
ところが、いつのタイミングからかはわからないが(Eclipseが2.x→3.xになったとき?)、EclipseのTomcatの設定項目で、設定ファイルとしてserver.xmlとコンテキストファイルと、どちらか一方を選択できることから、コンテキストファイルの存在を初めて知ったわけである。
Eclipse3.2.0のウィンドウ>設定>Tomcat (クリックで拡大)
◆コンテキスト記述子の宣言場所
ネットを検索してみると、Ja-jakartaによるTomcat翻訳は5.0までだが、OKIのOSS(Open Source Software)資料室では5.5の翻訳が公開されていた。
5.0と5.5のデプロイヤの部分を読み比べてみたところ、一番驚いたのは一次設定ファイルserver.xmlの非推奨化。
初期版のTomcatではコンテキスト記述子の設定内容はしばしばTomcatの一次設定ファイル server.xml に格納されてました。しかし今はこのやりかたは非推奨です(今のところ以前として動作はしますが)。
いつの間にか。。
ちなみに、コンテキスト記述子の場所は次の通り。
a) $CATALINA_HOME/conf/[固有名(Catalina)]/[ホスト名]/context.xml
b) $CATALINA_HOME/webapps/[webアプリ名]/META-INF/context.xml
最近は、WARファイルを作成する際に、META-INF配下にcontext.xmlも含めるという話をちらっと聞いたことがある。
また、コンテキストが存在していてコンテキスト記述子が用意されていない場合は、
Tomcatにより自動的に a) の代わりとして [webアプリ名].xmlというファイルが作成され、
そのファイル内にコンテキスト記述子が自動作成される。
◆Tomcatスタートアップ時の配備の優先順位
- 全てのコンテキスト記述子(で参照されるWebアプリ)が配備される
- コンテキスト記述子で参照されない(記述子がない)展開済みのWebアプリが配備される。
アプリと同じ名称のWARが存在する場合、ファイルの日付を見て新しい方が配備される
(WARの方が新しい場合は、展開済みのWebアプリが破棄され、WARが展開&配備される)。 - WARファイルが配備される。コンテキスト記述子が自動生成される。
-----
◆参考URL
OSS資料室より: 「Tomcat Web アプリケーションの配置」
http://www.oki.com/jp/oss/document/tomcat/tomcat-docs-ja/deployer-howto.html
本家ドキュメント(英文)
http://tomcat.apache.org/tomcat-5.5-doc/deployer-howto.html
Ja-jakartaによる、5.0ドキュメンテーション翻訳 「デプロイヤの使い方」
http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/deployer-howto.html





