エンタープライズ・アプリケーションの更新とは、
インストール済みの Java™ Platform, Enterprise Edition (Java
EE) アプリケーションに新しいファイルやモジュールを追加すること、あるいは既にインストールされているアプリケーション、
ファイル、またはモジュールを置き換えたり除去したりすることです。
始める前に
サーバー上のアプリケーション・ファイルを更新する前に、
そのファイルがデプロイ可能モジュール内にアセンブルされていることを確認してください。
次に、エンタープライズ・アプリケーション・ファイルの更新方法を参照して、
アプリケーション・ファイルの更新方法を決定してください。
エンタープライズ・アプリケーションまたはモジュールは、管理コンソール、wsadmin ツール、または Java MBean プログラミングを使用して更新できます。
これらの方法で提供される更新機能は同様のものです。
また、更新したファイルが、ユーザーのデプロイメント・ターゲットにインストール可能になっていることを確認します。
このタスクについて
ステップでは、管理コンソールを使用して、
デプロイ済みアプリケーションまたはモジュールを更新する方法について説明します。
手順
- インストールされているアプリケーションまたはモジュールをバックアップします。
- 管理コンソールの「エンタープライズ・アプリケーション」ページに進みます。
コンソールのナビゲーション・ツリーでをクリックします。
- アプリケーションを EAR ファイルにエクスポートするか、ファイルをアプリケーションにエクスポートします。
エクスポートするアプリケーションを選択し、「エクスポート」または「エクスポート・ファイル」をクリックします。
エクスポートすると、バインディング情報が保存されます。
- 「エンタープライズ・アプリケーション」ページでアプリケーションを選択して、「更新」をクリックします。 「Preparing for application update」ページが表示されます。
- 「アップロードしてインストールする EAR、WAR、JAR、RAR、または SAR モジュールを指定します」の下で、以下のことを行います。
- 「更新するアプリケーション」が更新対象のアプリケーションを示していることを確認します。
- 「アプリケーション更新オプション」で、更新するインストール済みアプリケーション、
モジュール、またはファイルを選択します。
オンライン・ヘルプ、アプリケーションの更新設定の準備で、
このオプションについて詳しく説明しています。
トラブルの回避 (Avoid trouble): Java
Application Programming Interface (API) for XML-Based Web Services (JAX-WS) アノテーションの追加、
除去、変更は、
「1 つのファイルを置換または追加する」更新オプション、
または
「複数のファイルを置換、追加、または削除する」更新オプションを
使用して行うことはできません。これらのオプションは、単一のファイルまたはアプリケーションの一部を変更します。
これらのオプションのいずれかを使用して JAX-WS アノテーションを変更した場合、製品はエラーを戻しません。
しかし、注釈付き Web サービスをデプロイする際に問題が発生することがあります。
gotcha
- 「アプリケーション全体を置換する」または「単一モジュールの置換または追加」オプションを選択した場合は、以下のようにします。
- 「次へ」をクリックして、アプリケーション・ファイル更新のウィザードを表示します。
- 更新ウィザードのステップに従います。
この更新ウィザードでは、
インストール・ウィザードと同様、アプリケーションのバインディング情報の指定または編集用のフィールドが提供されています。
コンソールを使用したアプリケーションのインストールに関する情報、
および『アプリケーション・インストール・バインディング設定の準備』ページの情報をガイダンスとして参照してください。
インストールのステップには、新規バージョンと旧バージョンのバインディング情報のマージが
含まれるという点に注意してください。新規バージョンに、
Enterprise JavaBeans (EJB) Java Naming and Directory Interface (JNDI) 名、
EJB 参照、リソース参照などのアプリケーション成果物のバインディングが含まれている場合、
それらのバインディングはマージ後のバインディング情報に含まれます。新規バインディングが
ない場合には、インストール済み (旧) バージョンのバインディングが使用されます。
旧バージョンのバインディングがなく、デフォルトのバインディング生成オプションが使用可能と
なっている場合には、デフォルトのバインディングがマージ後のバインディング情報に含まれます。
旧バージョンまたは新規バージョンのバインディングを無視することを選択することもできます。
- 「終了」をクリックします。
- 更新ウィザードの「モジュールの管理」ページを使用しなかった場合は、
アプリケーションの更新後、インストール済みのアプリケーションまたはモジュールを
サーバーまたはクラスターにマップします。
「エンタープライズ・アプリケーション」ページからアクセスするページを使用します。
- 「モジュールの管理」ページに進みます。 の順でクリックします。
- アプリケーションに含まれているモジュールのインストール先となるアプリケーション・サーバーを指定して、「
OK」をクリックします。
Java 2 Platform, Enterprise Edition (J2EE) 1.4 のモジュールは、バージョン 6 以降のノード上の
サーバーにデプロイできます。Java Platform, Enterprise Edition (Java EE) 5 のモジュールは、バージョン 7.x 以降のノード上のサーバーにデプロイすることができます。Java EE 6 のモジュールは、
バージョン 8.x 以降のノード上のサーバーにデプロイすることができます。Java EE 7 のモジュールは、バージョン 9.x のノード上のサーバーにデプロイすることができます。
複数サーバー製品では、クラスターにモジュールをデプロイすることもできます。
J2EE 1.4 モジュールをデプロイするには、クラスターに、バージョン 6 以降のノード上のクラスター・メンバーが含まれている必要があります。
Java EE 5 モジュールをデプロイするには、クラスターに、バージョン 7.x 以降のノード上のクラスター・メンバーが含まれている必要があります。
Java EE 6 モジュールをデプロイするには、クラスターに、バージョン 8.x 以降のノード上のクラスター・メンバーが含まれている必要があります。
Java EE 7 のモジュールをデプロイするには、クラスターに、バージョン 9.x のノード上のクラスター・メンバーが含まれている必要があります。
タスクの結果
アプリケーション全体を置き換えると、古いアプリケーションは製品によってアンインストールされます。モジュール、ファイル、またはアプリケーションの一部を置き換えると、インストールされていた古いモジュール、ファイル、またはアプリケーションの一部は、インストール済みアプリケーションから除去されます。
次のタスク
アプリケーション・ファイルまたはモジュールが正常にインストールされたら、以下を実行します。
- 変更済みのアプリケーションまたはモジュールがクラスターにデプロイされている場合は、アプリケーションまたはモジュールがデプロイされているクラスターのすべてのクラスター・メンバーに変更をロールアウトします。「エンタープライズ・アプリケーション」ページの「更新のロールアウト」をクリックして、アプリケーションまたはモジュールがデプロイされているクラスターのすべてのクラスター・メンバーに変更済みの構成を伝搬します。
「更新のロールアウト」により、クラスター・メンバーが含まれるノード上で構成が順次更新されます。
注: 同じノード上にクラスターのメンバーが複数存在する場合は、そのノード上のすべてのメンバーが同時に停止されます。
ベスト・プラクティス: アプリケーションまたはモジュールのインストール中にコンソールによって表示される「
インストール中」メッセージが終了したら、「
アプリケーションの管理」をクリックして、「
エンタープライズ・アプリケーション」ページに進みます。変更をロールアウトするまでは、構成の変更を保存しないでください。
best-practices
- 構成の変更を保存します。
複数サーバー製品では、「保存」をクリックすると、デプロイメント・マネージャー上の構成が、アプリケーションがインストールされているノード上の構成と同期するときに、旧アプリケーションのファイルが削除され、新規のファイルがコピーされます。
アプリケーションが更新時に稼働中である場合、
そのファイルがノードの宛先ディレクトリーにコピーされる前にアプリケーションは稼働を停止し、
コピー操作の完了後に再始動します。
したがって、ノードがその構成をデプロイメント・マネージャーと同期させている間、
そのノード上でアプリケーションは使用できません。
- 必要に応じて、手動でアプリケーションを再始動し、
変更内容を有効にします。
アプリケーションが実行中に更新されると、製品はアプリケーションまたは変更済みコンポーネントのみを
自動的に停止するか、アプリケーション・ロジックを更新して、停止したアプリケーションまたはそのコンポーネントを再始動します。
アプリケーションの実行中にモジュール・メタデータを更新した場合、
アプリケーションを再始動しても変更が有効にならないことがあります。例えば、アノテーションを使用する Java EE 6 アプリケーションの実行中に記述子を変更した場合には、アプリケーションを再インストールする必要があります。
アプリケーション内でクラス階層を導入、削除、または変更するクラスを変更し、その変更がアノテーションを付けられたクラスに影響を及ぼす場合にも、アプリケーションを再インストールする必要があります。
- 更新するアプリケーションが、アプリケーションのクラス・ローダー・ポリシーを Single に設定したサーバーにデプロイされている場合は、サーバーを再始動します。