9.3 アプリケーションを入れ替える
アプリケーションへの機能追加や不具合対策などを実施するため、Application Serverで稼働するアプリケーションを入れ替えます。この作業には、稼働中のApplication Serverを停止させたあと、入れ替え対象のアプリケーションをasadminユーティリティーコマンドのundeployサブコマンドでアンデプロイし、変更後のアプリケーションをdeployサブコマンドでデプロイします。なお、ハードウェアロードバランサーを使用している場合は、最初に、ハードウェアロードバランサーを閉塞します。
前提条件
-
ドメイン管理サーバが起動している
-
サーバインスタンスが起動している
-
サーバインスタンスでアプリケーションが稼働している
-
入れ替えるアプリケーションが存在する
想定ユーザー
-
システム構築者
操作手順
-
ハードウェアロードバランサーを使用している場合は、ハードウェアロードバランサーを閉塞します。
閉塞の方法は、使用しているハードウェアロードバランサーのマニュアルを参照してください。
-
asadminユーティリティーコマンドのstop-serversサブコマンドを実行して、パフォーマンストレーサー、サーバインスタンス、およびWebサーバを一括停止します。
asadmin stop-servers
コマンドの実行結果を次に示します。
Command stop-servers executed successfully.
-
asadminユーティリティーコマンドのlist-prfsサブコマンドを実行して、パフォーマンストレーサーの一覧を表示します。
asadmin list-prfs
コマンドの実行結果を次に示します。パフォーマンストレーサーのステータスがnot runningになっていることを確認してください。
パフォーマンストレーサー名 not running Command list-prfs executed successfully.
-
asadminユーティリティーコマンドのlist-instancesサブコマンドに--longオプションを指定して実行し、サーバインスタンスの一覧を表示します。
asadmin list-instances --long=true
コマンドの実行結果を次に示します。サーバインスタンスのステータスがnot runningになっていることを確認してください。
サーバインスタンス名 ホスト名 ポート番号 プロセスID クラスター名 not running Command list-instances executed successfully.
-
クラスター名は、複数のJava EEサーバを配置するクラスター構成の場合だけ表示されます。
-
-
asadminユーティリティーコマンドのlist-webserversサブコマンドを実行して、Webサーバの一覧を表示します。
asadmin list-webservers
コマンドの実行結果を次に示します。Webサーバのステータスがnot runningになっていることを確認してください。
Webサーバ名 not running Command list-webservers executed successfully.
-
アプリケーション名を確認するためasadminユーティリティーコマンドのlist-applicationsサブコマンドを実行して、サーバインスタンスまたはクラスターを対象に、デプロイされているアプリケーションの一覧を表示します。
asadmin list-applications --long=true サーバインスタンス名またはクラスター名
-
1つのJava EEサーバを配置する構成の場合は、サーバインスタンス名を指定します。複数のJava EEサーバを配置するクラスター構成の場合は、クラスター名を指定します。
コマンドの実行結果を次に示します。出力されたアプリケーションの一覧から、アプリケーション名を確認してください。
NAME TYPE STATUS アプリケーション名 <ear, web, ejb> enabled アプリケーション名 <ear, web, ejb> enabled Command list-application executed successfully.
-
-
手順6で確認したアプリケーション名を指定してasadminユーティリティーコマンドのundeployサブコマンドを実行し、サーバインスタンスまたはクラスターを対象に、入れ替えるアプリケーションをサーバインスタンスからアンデプロイします。
asadmin undeploy --target サーバインスタンス名またはクラスター名 アプリケーション名
-
1つのJava EEサーバを配置する構成の場合は、--targetオプションにサーバインスタンス名を指定します。複数のJava EEサーバを配置するクラスター構成の場合は、--targetオプションにクラスター名を指定します。
コマンドの実行結果を次に示します。入れ替えるアプリケーションのアンデプロイに成功したことを確認してください。
Command undeploy executed successfully.
-
-
入れ替えるすべてのアプリケーションに対して、手順7の作業を実施します。
-
asadminユーティリティーコマンドのdeployサブコマンドを実行し、サーバインスタンスまたはクラスターを対象に、変更後のアプリケーションをサーバインスタンスへデプロイします。
asadmin deploy --target サーバインスタンス名またはクラスター名 アプリケーションのファイルパス
-
1つのJava EEサーバを配置する構成の場合は、--targetオプションにサーバインスタンス名を指定します。複数のJava EEサーバを配置するクラスター構成の場合は、--targetオプションにクラスター名を指定します。
コマンドの実行結果を次に示します。変更後のアプリケーションのデプロイに成功したことを確認してください。
Application deployed with name アプリケーション名. Command deploy executed successfully.
-
-
変更後のすべてのアプリケーションに対して、手順9の作業を実施します。
- メモ
-
手順6から手順10では、アンデプロイしたあとにデプロイしてアプリケーションを入れ替えていますが、リデプロイしてアプリケーションを入れ替えることもできます。
-
ドメインディレクトリーの下位階層のdocrootディレクトリーに格納されている静的コンテンツを、新しいコンテンツに入れ替えます。
-
Webサーバのドキュメントルートディレクトリー(Application Serverのインストールディレクトリー/javaee/glassfish/nodes/ノード名/Webサーバ名/root/htdocs)に格納されている静的コンテンツを、新しいコンテンツに入れ替えます。
-
asadminユーティリティーコマンドのstart-serversサブコマンドを実行して、Application Serverを一括で起動します。
asadmin start-servers
コマンドの実行結果を次に示します。
Command start-servers executed successfully.
-
asadminユーティリティーコマンドのlist-prfsサブコマンドを実行して、パフォーマンストレーサーの一覧を表示します。
asadmin list-prfs
コマンドの実行結果を次に示します。パフォーマンストレーサーのステータスがrunningになっていることを確認してください。
パフォーマンストレーサー名 running Command list-prfs executed successfully.
-
asadminユーティリティーコマンドのlist-instancesサブコマンドに--longオプションを指定して実行し、サーバインスタンスの一覧を表示します。
asadmin list-instances --long=true
コマンドの実行結果を次に示します。サーバインスタンスのステータスがrunningになっていることを確認してください。
サーバインスタンス名 ホスト名 ポート番号 プロセスID クラスター名 running Command list-instances executed successfully.
-
クラスター名は、複数のJava EEサーバを配置するクラスター構成の場合だけ表示されます。
-
サーバインスタンスの起動に成功したかどうかは、Java EEサーバ(サーバインスタンス)のメッセージログにKDKD20031-Iが出力されているかどうか、またはAdministration ConsoleのJava EEサーバ(サーバインスタンス)のステータスでも確認できます。
-
-
asadminユーティリティーコマンドのlist-webserversサブコマンドを実行して、Webサーバの一覧を表示します。
asadmin list-webservers
コマンドの実行結果を次に示します。Webサーバのステータスがrunningになっていることを確認してください。
Webサーバ名 running Command list-webservers executed successfully.
-
変更後のアプリケーションの状態を確認するため、asadminユーティリティーコマンドのlist-applicationsサブコマンドを実行して、サーバインスタンスまたはクラスターを対象に、サーバインスタンスにデプロイされているアプリケーションの一覧を表示します。
list-applicationsサブコマンドを実行する際、アプリケーションが有効かどうかを表示するため
--longオプションを指定します。
asadmin list-applications --long=true サーバインスタンス名またはクラスター名
-
1つのJava EEサーバを配置する構成の場合は、サーバインスタンス名を指定します。複数のJava EEサーバを配置するクラスター構成の場合は、クラスター名を指定します。
コマンドの実行結果を次に示します。NAMEにはアプリケーション名が、TYPEには、アプリケーションの種類が表示されます。すべてのアプリケーションのステータスがenabled(有効)になっていることを確認してください。
NAME TYPE STATUS アプリケーション名 <ear, web> enabled アプリケーション名 <web> enabled Command list-applications executed successfully.
-
-
ハードウェアロードバランサーを使用している場合は、外部からアプリケーションにアクセスできるようにするため、ハードウェアロードバランサーの閉塞を解除します。
閉塞を解除する方法は、使用しているハードウェアロードバランサーのマニュアルを参照してください。