Tomcatメモ - warパッケージに外部リソース参照を埋め込む

server.xmlで設定したGlobalNamingResourcesを参照するためには、同じserver.xmlのContextディレクティブで、ResourceLinkを設定するのが一般的なようです。しかし、できればwarパッケージ内に埋め込んでしまいたいと思っていました。server.xmlをいちいち編集する必要がなくなるので、warファイルのアップロードだけで一発デプロイ!ができるようにならないかなあ、と。

やっとこさ、その方法をみつけました。

WEB-INFディレクトリと同一階層にMETA-INFディレクトリを作成し、その中にcontext.xmlというファイルを作成します。context.xmlの内容は以下のような物です。なんか見覚えがありますね。


  

要は、server.xmlからコンテキスト設定を切り出してくればいいんです。name=はアプリケーション内で参照される名称、global=はGlobalNamingResourcesの中で設定したリソース名です。

このMETA-INF/context.xmlを含める形でwarを作成すれば、望み通りの一発デプロイができるようになりました。デプロイにはTomcatのmanagerアプリケーションを使用するのが楽ですね。