Marの人生の一片

Marの人生の一片

アメブロから引っ越しました!大阪→鹿児島→京都→東京→京都と渡り歩いた、子育て中年サラリーマンの備忘録です

TomcatのDataSourceはAdminToolで作成するな!!

っていうか、「server.xmlの書き換えをAdminToolでするな」という方が正しいか。

なぜなら、

「せっかくコメントなどで整えられたserver.xmlが、AdminToolを利用するとぐちゃぐちゃに書き換えられて、メンテナンス性が低くなる」

から。

Tomcatが読めればよい体裁になってしまうのだ。せっかく書いたコメントまで削られる。

そのため、アプリケーション追加などでDataSourceを作成しなければいけない場合は、そのアプリケーション用のxmlを別に用意して、webappsの下にアプリケーションと並べて配置する。

順番はこうだ、

?webapps以下に、アプリケーションwarファイルを配置する。

?Tomcat起動でデプロイ(自動展開)。

?アプリケーション名と同名のxmlファイル(コンテキストに必要な情報が入ったやつ)をwebappsに配置。

?Tomcat再起動。

ここで、xmlファイルとアプリケーションwarをいちどきに置いて、Tomcatを再起動してはいけない。

アプリケーションコンテキストxmlファイルがあると、Tomcatはアプリケーションディレクトリが既にあるものとして処理を始める。しかし、この時点でwarファイルはデプロイされていないから、「アプリケーションディレクトリがない」と怒るのだ。

だから、一度対象アプリケーションはデプロイを確認してから、xmlを配置する。

これで、わざわざDataSourceをAdminToolで作成しなくても良くなる。

?で作成する文法については詳しいサイトを参照されたい。