環境依存性の排除
Webアプリケーションにおける環境(JUnit実行、試験サーバ上での実行、本番サーバ上での実行 e.t.c.)依存の排除は大切だけど、結構大変ですよね。
NTTDATAの開発標準「TERASOLUNA」に、以下のような実現方法が紹介されています。
- WebAP(.ear、.war)には、環境依存性のある設定ファイル・設定値を持たせない。
- 環境依存性のある設定ファイルをまとめてひとつの.jarにパッケージする。
ex. env.jar
Tomcat7で環境依存を排除するデプロイ方法
- 環境依存ファイルenv.jarを、APサーバ上のフォルダに設置する。
ex. /etc/foo/bar/env.jar - TomcatのVirtualWebappLoader機能を使用して /etc/foo/bar/*.jar をクラスパスに追加する。
- [CATALINA_HOME]/conf/[contextPath].xml ファイルに下記の定義を追加する。
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/etc/foo/bar/*.jar" />
WAS(WebSphere)9で環境依存を排除するデプロイ方法
共有ライブラリーを定義する
- 管理コンソールにて、「環境」 > 「共有ライブラリー」をクリックする。
- 共有ライブラリーを、セル、ノードまたはサーバー・レベルで可視にするかどうかを指定する。
- 「新規」をクリックする。
- 新規共有ライブラリーの設定ページで、名前および 1 つ以上のクラスパスを指定する。
共有ライブラリーをアプリケーションに関連付ける
- 管理コンソールにて、「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション (WebSphere enterprise applications)」 > 「application_name」 > 「共用ライブラリー参照」をクリックする。
- 共有ライブラリを設定したいアプリケーションにチェックを付け「参照共有ライブラリー」をクリックする。
- 共有ライブラリを選択して保存する。
コメント