Cosminexus V9 アプリケーションサーバ 機能解説 互換編

[目次][用語][索引][前へ][次へ]

7.3.6 テストモードでのJ2EEアプリケーションの動作確認(入れ替え時)

J2EEアプリケーションを入れ替えるときに,J2EEアプリケーションをテストモードで開始する手順の例を示します。なお,この手順では,入れ替え元のJ2EEアプリケーションは,J2EEサーバ上で開始されていることを前提としています。

準備
Webアプリケーションを含むJ2EEアプリケーションをテストモードで運用する場合,あらかじめ次の作業が必要です。
  • リダイレクタの設定(URLのマッピング)
    通常モードのコンテキストルートを含むURLのマッピングに加えて,テストモードのコンテキストルートを含むURLのマッピングを設定してください。Webアプリケーションを含むJ2EEアプリケーションをテストモードで運用する場合,Webアプリケーションのコンテキストルートにプリフィックス「_test_」を付けたものが,コンテキストルートとして使用されます。例えば,通常モードのコンテキストルートが「/jsptobean」の場合,テストモードのコンテキストルートは「/_test_/jsptobean」になります。
    URLパターンでのリクエスト振り分けの設定については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「4.3 URLパターンでのリクエストの振り分け」を参照してください。
  • Webサーバの再起動
    Webサーバを再起動して,リダイレクタの設定を有効にしてください。

手順
  1. J2EEアプリケーションをテストモードでインポートします。
    J2EEアプリケーションのインポートには,サーバ管理コマンド(cjimportapp)を使用します。
    実行形式と実行例を次に示します。
    実行形式
     
    cjimportapp <J2EEサーバ名> -test -f <EARファイルのパス>
     
    実行例
    cjimportapp MyServer -test -f App1.ear
     
  2. インポートした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
  3. J2EEアプリケーションをテストモードで開始します。
    cjstartappコマンドの実行形式と実行例を次に示します。
    実行形式
     
    cjstartapp <J2EEサーバ名> -test -name <J2EEアプリケーション名>
     
    実行例
    cjstartapp MyServer -test -name App1
  4. テストを実施します。
    テスト用のクライアントから適宜操作を実行して,テストします。問題ないことが確認できたら,手順5.に進みます。
    テスト結果に問題があった場合は,J2EEアプリケーションを修正して,手順1.からもう一度実行してください。なお,同じ名称のJ2EEアプリケーションは同じモードで登録できません。このため,テストが失敗したテストモードのJ2EEアプリケーションは削除してください。テストモードのJ2EEアプリケーションの削除は,サーバ管理コマンド(cjdeleteapp)に-testオプションを付けた形式で実行してください。
    ポイント
    • テストモードで動作しているJ2EEアプリケーションは,テストモード用に設定した特定のクライアントからだけ利用できます。Webアプリケーションを含むJ2EEアプリケーションをテストモードで運用する場合,Webアプリケーションのコンテキストルートにプリフィックス「_test_」を付けたものが,コンテキストルートとして使用されます。例えば,コンテキストルートが「/jsptobean」で,本番運用でのURLが「http://www.xxx.co.jp/jsptobean/account.jsp」の場合,テストモードでのURLは,「http://www.xxx.co.jp/_test_/jsptobean/account.jsp」になります。テスト用のクライアントからはこのURLを使用してJ2EEアプリケーションに対して操作を実行してください。
    • EJBを含むJ2EEアプリケーションをテストモードで運用する場合,EJBはテスト用の名前空間に登録されます。EJBクライアントアプリケーションからEJBを呼び出す場合には,通常モード用の名前空間のルートコンテキスト名で始まる検索文字列「HITACHI_EJB/…」ではなく,テストモード用の名前空間のルートコンテキスト名で始まる検索文字列「$HITACHI_TEST/…」を指定してlookupを実行してください。
  5. テストモードで運用しているJ2EEアプリケーションを停止します。
    実行形式
     
    cjstopapp <J2EEサーバ名> -test -name <J2EEアプリケーション名>
     
    実行例
    cjstopapp MyServer -test -name App1
  6. 通常モードで運用しているJ2EEアプリケーションを停止します。
    なお,J2EEアプリケーションを入れ替えではなく新規にインポートした場合,この操作は不要です。
    実行形式
     
    cjstopapp <J2EEサーバ名> -name <J2EEアプリケーション名>
     
    実行例
    cjstopapp MyServer -name App1
  7. 通常モードで運用していたJ2EEアプリケーションの名称を変更します。
    なお,J2EEアプリケーションを入れ替えではなく新規にインポートした場合,この操作は不要です。
    また,この操作は,インポートしたファイルの世代を管理したい場合などに,必要に応じて実行してください。例えば,「App1」というJ2EEアプリケーションの場合,「App1_bak」などに変更します。
    実行形式
     
    cjrenameapp <J2EEサーバ名> -name <変更前のJ2EEアプリケーション名> -newname <変更後のJ2EEアプリケーション名>
     
    実行例
    cjrenameapp MyServer -name App1 -newname App1_bak
  8. テストモードで運用していたJ2EEアプリケーションのモードを通常モードに変更します。
    実行形式
     
    cjchmodapp <J2EEサーバ名> -test -name <テストモードで動作を確認したJ2EEアプリケーション名> -mode normal
     
    実行例
    cjchmodapp MyServer -test -name App1 -mode normal
  9. 手順8.でモードを変更したJ2EEアプリケーションを開始します。
    実行形式
     
    cjstartapp <J2EEサーバ名> -name <J2EEアプリケーション名>
     
    実行例
    cjstartapp MyServer -name App1