特集
2004/04/23 17:45 更新


特集:第3回 Strutsをチーム開発に生かす「XDoclet」の活用 (3/8)



Column2■Tomcatのリロード機能

アプリケーションの開発時に、Javaクラスファイルやweb.xml、struts-config.xml等の設定ファイルを変更し、サーバ上に再度デプロイした際には通常はコンテナの再起動が必要となる。しかし、Strutsアプリケーションなど、初期化に時間がかかるアプリケーションがいくつがデプロイされていた場合などは、コンテナの再起動にもそれなりの時間を要してしまう。

Tomcatには、アプリケーションのリロードという機能があり、これを使うとコンテナを再起動することなく、クラスファイルや設定ファイルの変更を反映させることができる。

Tomcatのリロード機能を使うには、以下の手順が必要だ。

1. Tomcatインストールディレクトリ/confにある、tomcat-users-xml をエディタで開く
2. <tomcat-users>要素中にデフォルトで<user>要素がいくつか登録されているが、その書式に従って<user>要素をもう1つ追加する。username、passwordの値は任意でかまわないが、roles要素には必ず"manager"が含まれていること。
3.tomcat-users.xmlを保存して閉じる
4.Tomcatを再起動する
5.ブラウザより、http://localhost:8080/manager/html にアクセスする。Tomcatのデフォルトのトップページ(http://localhost:8080/)の左上方にある、"Tomcat Manager"のリンクをクリックでも同じである。


図c2-1■Tomcatセットアップ後の初期トップページ

6.「Tomcat Webアプリケーションマネージャ」画面が表示される。この画面上で、目的のアプリケーションの"再ロード"リンクをクリックすれば、アプリケーションのリロードが行われる。


画面c2-2■Tomcat Webアプリケーションマネージャ

実際に行ってみれば分かるが、アプリケーションのリロードはコンテナの再起動に比べてかなり短い時間で完了する。アプリケーションの開発効率向上が期待できる。

Antからリロード機能を利用する

さらにTomcatは、このリロード機能をAntタスクとしても提供している。本文中でも触れているが、Antは標準の機能以外にもタスクを自作したり、外部から提供される機能を組み込むことができる。AntからTomcatのリロード機能を使うためのAntビルドファイルの設定手順は以下の通りだ。

1. <taskdef>要素を定義し、Tomcatから提供されるリロード機能をAntに組み込む。name属性でこのタスクに任意の名前を付ける。ここでは"reload"とした。クラス名はこの機能を実装したクラス名を指定する。Tomcatが提供するクラス名は"org.apache.catalina.ant.ReloadTask"である。classpath属性には、このクラスを検索するためのクラスパスを指定する。org.apache.catalina.ant.ReloadTaskクラスは、Tomcatインストールディレクトリ/server/lib/catalina-ant.jarに含まれている。

2. 上記1.の手順で組み込んだ"reload"タスクを呼び出す。url属性にはTomcatマネージャアプリケーションのURL、username、password属性にはtomcat-users.xmlに登録したユーザ名、パスワードを設定する。path属性はリロードするアプリケーションのコンテキストパスを設定する。

リストc2■reloadターゲットの設定例
<!-- アプリケーションのリロード -->
<target name="reload" depends="deploy">
<taskdef name="reload"
classname="org.apache.catalina.ant.ReloadTask"
classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
<reload
url="http://localhost:8080/manager"
username="manager"
password="manager"
path="/${app.name}"/>
</target>

これで、AntからTomcatのリロード機能を使うことができる。targetのdepends属性をうまく使って処理の流れを作れば、コマンド一発でビルド→デプロイ→リロードを行うことができ、開発効率が格段に向上することを実感できるだろう。

JDKなどの開発環境設定を確認しよう

1. J2SE SDKをインストールし、環境変数JAVA_HOMEをインストールディレクトリに設定する。

2. Antをダウンロードし、任意のディレクトリに展開する。環境変数ANT_HOMEを展開したディレクトリに設定し、環境変数PATHに「$ANT_HOME/bin」(Windowsでの記述は、%ANT_HOME%\bin)を含めておく。

3. XDocletバイナリ配布版をダウンロードし、任意のディレクトリに展開しておく。

4. Strutsバイナリ配布版をダウンロードし、任意のディレクトリに展開しておく。

5. Tomcatバイナリ配布版をダウンロードし、任意のディレクトリに展開しておく。

前のページ | 1 2 3 4 5 6 7 8 | 次のページ

[阿島哲夫,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.