Cosminexus システム運用ガイド
![[目次]](FIGURE/CONTENT.GIF)
![[用語]](FIGURE/GLOSS.GIF)
![[索引]](FIGURE/INDEX.GIF)
![[前へ]](FIGURE/FRONT.GIF)
ここでは,テストモードでのJ2EEアプリケーションの運用について説明します。
J2EEアプリケーションを新しく登録する場合や,すでに動作中のJ2EEアプリケーションを入れ替えるとき,本番運用を開始する前に,本番環境で問題なく動作することを確認したいことがあります。このような場合にテストモードを使用します。
テストモードでの運用は,J2EEアプリケーション単位で実行できます。テストモードから本番運用時のモード(通常モード)に変更する場合,J2EEアプリケーションの設定やカスタマイズをし直す必要はありません。また,一つの本番環境で表示名が同じJ2EEアプリケーションを,通常モードとテストモードで同時に開始できます。これによって,既存のJ2EEアプリケーションでクライアントにサービスを提供しながら,入れ替える予定のJ2EEアプリケーションの動作を同じ環境で確認できます。
テストモードで運用できるのは,J2EEアプリケーションだけです。J2EEアプリケーション内でDB Connectorなどのリソースアダプタを使用する場合は,本番時に使用するものを使用してください。また,Webサーバ上の静的コンテンツについても,本番用に構築したWebサーバ上に配置して使用してください。
- <この項の構成>
- (1) 運用管理コマンド使用時の注意
- (2) J2EEアプリケーションを入れ替える場合にテストモードを使用する手順
- (3) テストモードで実行できるサーバ管理コマンド
(1) 運用管理コマンド使用時の注意
運用管理コマンド(mngsvrutil)では,テストモードで動作しているJ2EEアプリケーションを操作できません。テストモードでJ2EEアプリケーションを操作したい場合は,サーバ管理コマンドを実行してください。ただし,テストモードの場合も,運用管理コマンドで稼働情報を出力できます。
なお,J2EEアプリケーションのモードが,サーバ管理コマンドでテストモードに変更された場合,運用管理コマンドにサブコマンド「get」を指定して取得したJ2EEアプリケーションの稼働情報のfullyQualifiedNameに,「_TEST」という文字列が付いて出力されます。
J2EEアプリケーションを入れ替えるときに,J2EEアプリケーションをテストモードで開始する手順の例を示します。なお,この手順では,入れ替え元のJ2EEアプリケーションは,J2EEサーバ上で開始されていることを前提としています。
- 準備
- Webアプリケーションを含むJ2EEアプリケーションをテストモードで運用する場合,あらかじめ次の作業が必要です。
- リダイレクタの設定(URLのマッピング)
通常モードのコンテキストルートを含むURLのマッピングに加えて,テストモードのコンテキストルートを含むURLのマッピングを設定してください。Webアプリケーションを含むJ2EEアプリケーションをテストモードで運用する場合,Webアプリケーションのコンテキストルートにプリフィックス「_test_」を付けたものが,コンテキストルートとして使用されます。例えば,通常モードのコンテキストルートが「/jsptobean」の場合,テストモードのコンテキストルートは「/_test_/jsptobean」になります。
URLパターンでのリクエスト振り分けの設定については,マニュアル「Cosminexus システム構築ガイド」を参照してください。
- Webサーバの再起動
Webサーバを再起動して,リダイレクタの設定を有効にしてください。
- 手順
- J2EEアプリケーションをテストモードでインポートします。
J2EEアプリケーションのインポートには,サーバ管理コマンド(cjimportapp)を使用します。
実行形式と実行例を次に示します。
- 実行形式
cjimportapp <J2EEサーバ名> -test -f <EARファイルのパス>
|
- 実行例
- cjimportapp MyServer -test -f App1.ear
-
- インポートしたJ2EEアプリケーションのプロパティ設定とカスタマイズを実行します。
サーバ管理コマンド(cjgetapppropおよびcjsetappprop)を使用して実行します。それぞれのコマンドには-testオプションを指定して,テストモードで実行します。
cjgetapppropコマンドの実行形式と実行例を次に示します。
- 実行形式
cjgetappprop <J2EEサーバ名> -test -name <J2EEアプリケーション名> -type all -c <アプリケーション統合属性ファイルの出力先パス>
|
- 実行例
- cjgetappprop MyServer -test -name App1 -type all -c App1Prop.xml
-
属性ファイルはテキストエディタなどで編集します。
cjsetapppropコマンドの実行形式と実行例を次に示します。
- 実行形式
cjsetappprop <J2EEサーバ名> -test -name <J2EEアプリケーション名> -type all -c <編集したアプリケーション統合属性ファイルのパス>
|
- 実行例
- cjsetappprop MyServer -test -name App1 -type all -c App1Prop.xml
- J2EEアプリケーションをテストモードで開始します。
cjstartappコマンドの実行形式と実行例を次に示します。
- 実行形式
cjstartapp <J2EEサーバ名> -test -name <J2EEアプリケーション名>
|
- 実行例
- cjstartapp MyServer -test -name App1
- テストを実施します。
テスト用のクライアントから適宜操作を実行して,テストします。問題ないことが確認できたら,手順5.に進みます。
テスト結果に問題があった場合は,J2EEアプリケーションを修正して,手順1.からもう一度実行してください。なお,同じ名称のJ2EEアプリケーションは同じモードで登録できません。このため,テストが失敗したテストモードのJ2EEアプリケーションは削除してください。テストモードのJ2EEアプリケーションの削除は,サーバ管理コマンド(cjdeleteapp)に-testオプションを付けた形式で実行してください。
- ポイント
- テストモードで動作しているJ2EEアプリケーションは,テストモード用に設定した特定のクライアントからだけ利用できます。Webアプリケーションを含むJ2EEアプリケーションをテストモードで運用する場合,Webアプリケーションのコンテキストルートにプリフィックス「_test_」を付けたものが,コンテキストルートとして使用されます。例えば,コンテキストルートが「/jsptobean」で,本番運用でのURLが「http://www.hitachi.co.jp/jsptobean/account.jsp」の場合,テストモードでのURLは,「http://www.hitachi.co.jp/_test_/jsptobean/account.jsp」になります。テスト用のクライアントからはこのURLを使用してJ2EEアプリケーションに対して操作を実行してください。
- EJBを含むJ2EEアプリケーションをテストモードで運用する場合,EJBはテスト用の名前空間に登録されます。EJBクライアントアプリケーションからEJBを呼び出す場合には,通常モード用の名前空間のルートコンテキスト名で始まる検索文字列「HITACHI_EJB/…」ではなく,テストモード用の名前空間のルートコンテキスト名で始まる検索文字列「$HITACHI_TEST/…」を指定してlookupを実行してください。
- テストモードで運用しているJ2EEアプリケーションを停止します。
- 実行形式
cjstopapp <J2EEサーバ名> -test -name <J2EEアプリケーション名>
|
- 実行例
- cjstopapp MyServer -test -name App1
- 通常モードで運用しているJ2EEアプリケーションを停止します。
なお,J2EEアプリケーションを入れ替えではなく新規にインポートした場合,この操作は不要です。
- 実行形式
cjstopapp <J2EEサーバ名> -name <J2EEアプリケーション名>
|
- 実行例
- cjstopapp MyServer -name App1
- 通常モードで運用していたJ2EEアプリケーションの名称を変更します。
なお,J2EEアプリケーションを入れ替えではなく新規にインポートした場合,この操作は不要です。
また,この操作は,インポートしたファイルの世代を管理したい場合などに,必要に応じて実行してください。例えば,「App1」というJ2EEアプリケーションの場合,「App1_bak」などに変更します。
- 実行形式
cjrenameapp <J2EEサーバ名> -name <変更前のJ2EEアプリケーション名> -newname <変更後のJ2EEアプリケーション名>
|
- 実行例
- cjrenameapp MyServer -name App1 -newname App1_bak
- テストモードで運用していたJ2EEアプリケーションのモードを通常モードに変更します。
- 実行形式
cjchmodapp <J2EEサーバ名> -test -name <テストモードで動作を確認したJ2EEアプリケーション名> -mode normal
|
- 実行例
- cjchmodapp MyServer -test -name App1 -mode normal
- 手順8.でモードを変更したJ2EEアプリケーションを開始します。
- 実行形式
cjstartapp <J2EEサーバ名> -name <J2EEアプリケーション名>
|
- 実行例
- cjstartapp MyServer -name App1
テストモードで実行できるサーバ管理コマンドを示します。
それぞれのコマンドの詳細については,マニュアル「Cosminexus リファレンス コマンド編」を参照してください。
表4-16 テストモードで実行できるサーバ管理コマンド
コマンド |
テストモードでの動作 |
cjchmodapp |
テストモードでインポートしたJ2EEアプリケーションのモードを通常モードに切り替えられます。また,通常モードでインポートしたJ2EEアプリケーションのモードをテストモードに切り替えられます。 |
cjdeleteapp |
テストモードのJ2EEアプリケーションを削除できます。 |
cjgetappprop |
テストモードのJ2EEアプリケーションのアプリケーション属性,WAR属性およびEJB-JAR属性を取得できます。 |
cjgetstubsjar |
テストモードのJ2EEアプリケーションからRMI-IIOPスタブおよびインタフェースを取得できます。 |
cjimportapp |
J2EEアプリケーションをテストモードでインポートできます。インポートは,実行時情報を含む形式(ZIPファイル)または実行時情報を含まない形式(EARファイル)のどちらも実行できます。 |
cjlistapp |
J2EEサーバに含まれるすべてのJ2EEアプリケーションのうち,テストモードのJ2EEアプリケーションの一覧を表示できます。また,テストモードのJ2EEアプリケーションに含まれるWARファイルおよびEJB-JARファイルの一覧を表示できます。 |
cjlistthread |
テストモードのJ2EEアプリケーションのスレッド一覧を表示できます。 |
cjreplaceapp |
テストモードのJ2EEアプリケーションをリデプロイできます。 |
cjreloadapp |
テストモードのJ2EEアプリケーションをリロードできます。 |
cjsetappprop |
テストモードのJ2EEアプリケーションのアプリケーション属性,WAR属性およびEJB-JAR属性を設定できます。 |
cjstartapp |
J2EEアプリケーションをテストモードで開始できます。 |
cjstopapp |
テストモードで開始したJ2EEアプリケーションを停止できます。 |
cjstopthread |
テストモードのJ2EEアプリケーションに対してメソッドキャンセルを実行できます。 |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.