エンタープライズ・アプリケーション・ファイルの更新方法

サーバーまたはクラスターにデプロイされた Java™ Platform, Enterprise Edition (Java EE) アプリケーション・ファイルは、いくつかの方法で更新することができます。

表 1. アプリケーション・ファイルの更新方法. アプリケーション・ファイルは、コンソール、wsadmin、プログラミング、またはデプロイメント・ツールを使用して更新できます。
オプション メソッド コメント 更新後の開始
管理コンソール更新ウィザード

コンソールを使用したエンタープライズ・アプリケーションの更新を参照してください。

Java EE アプリケーションまたはモジュールから 1 つのファイルを除去する場合は、 エンタープライズ・ファイルの除去に関するトピックを参照してください。

簡単には、以下を実行します。
  1. 「エンタープライズ・アプリケーション」ページに進みます。コンソールのナビゲーション・ツリーで「アプリケーション」 > 「アプリケーション・タイプ」 > 「WebSphere エンタープライズ・アプリケーション」とクリックします。
  2. 更新するアプリケーションを選択して、「更新」をクリックします。
  3. アプリケーションの更新の準備」ページで、 更新するアプリケーション、モジュールまたはファイルを確認して、「次へ」をクリックします。
  4. 更新ウィザードのステップを完了し、「終了」をクリックします。
アプリケーションの更新の準備」ページで、以下を実行します。
  • 「全アプリケーション」を使用して、.ear ファイルを更新します。
  • 「単一モジュール」を使用して、.war ファイル、.sar ファイル、エンタープライズ Bean の .jar ファイル、またはコネクターの .rar ファイルを更新します。
  • 「単一ファイル」を使用して、.ear.war.sar、 EJB .jar、または .rar ファイル以外のファイルを更新します。
  • 「アプリケーションの一部」を使用して、複数のファイルを更新または除去します。
エンタープライズ・アプリケーション」ページで、更新したアプリケーションを選択して、「始動」をクリックします。
[AIX Solaris HP-UX Linux Windows][z/OS]モニター対象ディレクトリー [AIX Solaris HP-UX Linux Windows][z/OS]アプリケーションまたはモジュールをモニター対象ディレクトリーに 追加することによってインストールした場合は、同じファイル名のアプリケーションまたはモジュールを 管理対象ディレクトリーに追加することによって、アプリケーションまたはモジュールを更新できます。 [AIX Solaris HP-UX Linux Windows][z/OS]モニター対象ディレクトリーに追加することによる、 エンタープライズ・アプリケーション・ファイルのインストールに関するトピックを参照してください。 [AIX Solaris HP-UX Linux Windows][z/OS]アプリケーションまたはモジュールは、インストールされた後、 自動的に開始されます。

デプロイメント・マネージャーがモニターするディレクトリーでのインストールでは、ノード・エージェントまたはサーバーが稼働していない場合、製品ではアプリケーションまたはモジュールが自動的に始動されません。

[AIX Solaris HP-UX Linux Windows][z/OS]アプリケーション・プロパティー・ファイル [AIX Solaris HP-UX Linux Windows][z/OS]アプリケーション・ファイルを更新することを示すプロパティー・ファイルを作成します。次に、以下のいずれかの方法で、wsadmin applyConfigProperties コマンドを実行します。
  • スクリプト内で
  • コマンド・プロンプトで
  • monitoredDeployableApps/deploymentProperties モニター対象ディレクトリーにプロパティー・ファイルを追加する
[AIX Solaris HP-UX Linux Windows][z/OS]モニター対象ディレクトリーにプロパティー・ファイルを追加することによる、 エンタープライズ・アプリケーション・ファイルのインストールに関するトピックを参照してください。 [AIX Solaris HP-UX Linux Windows][z/OS]アプリケーションまたはモジュールは、インストールされた後、 自動的に開始されます。

デプロイメント・マネージャーがモニターするディレクトリーでのインストールでは、ノード・エージェントまたはサーバーが稼働していない場合、製品ではアプリケーションまたはモジュールが自動的に始動されません。

wsadmin スクリプト

wsadmin スクリプト・ツールによるインストール済みアプリケーションの更新に関するトピックを参照してください。

スクリプトまたはコマンド・プロンプトで、update コマンドまたは updateInteractive コマンドを 使用します。update コマンドおよび updateInteractive コマンドについて詳しくは、 AdminApp オブジェクトのコマンドに関するトピックを参照してください。 wsadmin の概要については、『wsadmin スクリプトの入門』を参照してください。 invoke コマンドおよび startApplication 属性を使用して、 アプリケーションを開始します。 invoke コマンドについて詳しくは、 AdminControl オブジェクトのコマンドに関するトピックを参照してください。
Java アプリケーション・プログラミング・インターフェース

管理プログラム (JMX) の使用に関するトピックを参照してください。

『プログラミングによるアプリケーション管理』に関するトピックの手順を実行して、 デプロイしたアプリケーションを更新します。 以下の方法でアプリケーションを更新します。
  • アプリケーション全体を更新する
  • アプリケーション内の複数のファイルを追加、置換、または削除する
  • プリケーションにモジュールを追加する
  • アプリケーション内のモジュールを更新する
  • アプリケーション内のモジュールを削除する
  • アプリケーションにファイルを追加する
  • アプリケーション内のファイルを更新する
  • アプリケーション内のファイルを削除する
AdminControl を使用して、ApplicationManager MBean の startApplication メソッドを呼び出します。
ラピッド・デプロイメント・ツール

J2EE アプリケーションの高速デプロイメント』にあるトピックを参照してください。

簡単には、以下を実行します。
  1. J2EE アプリケーション・ファイルを更新します。
  2. 高速デプロイメント環境をセットアップします。
  3. フリー・フォーム・プロジェクトを作成します。
  4. 高速デプロイメント・セッションを起動します。
  5. フリー・フォーム・プロジェクトに、更新したアプリケーション・ファイルをドロップします。
ラピッド・デプロイメント・ツールには以下の利点があります。
  • デプロイメントの前に、 ご使用の J2EE アプリケーション・ファイルをアセンブルする必要はありません。
  • ファイルをデプロイする際に、 この表に記載された他のインストール・ツールを使用する必要はありません。
前述のオプションのいずれかを使用し、アプリケーションを開始します。 「エンタープライズ・アプリケーション」ページで「開始」をクリックするのが、最も簡単な方法です。
ホット・デプロイメントと動的再ロード 簡単には、以下を実行します。
  1. アプリケーション (.ear)、 Web モジュール (.war)、エンタープライズ Bean .jar または HTTP プラグイン構成ファイルを更新します。
  2. ホット・デプロイメントと動的再ロードにある説明に従って、ファイルを更新します。
WebSphere® Application Server を初めて使用する場合は、 管理コンソールを使用してアプリケーションを更新 を使用してください。 このオプションは、より簡単です。

ホット・デプロイメントと動的再ロードの実行は、より難解です。 アプリケーションがデプロイされたサーバー上で、アプリケーションまたはモジュール・ファイルを直接操作する必要があります。

特に、 アノテーションを使用する新規機能とホット・デプロイメントとの間には重大な相互作用が生じる可能性があります。ホット・デプロイメントでアプリケーションをデプロイする場合のこれらの相互作用について詳しくは、下の metadata-complete 属性の説明を参照してください。

前述のオプションのいずれかを使用し、アプリケーションを開始します。 「エンタープライズ・アプリケーション」ページで「開始」をクリックするのが、最も簡単な方法です。

インストールされたアプリケーションで 使用される、.ear、エンター プライズ Bean .jar、Web モジュール .war、Session Initiation Protocol (SIP) アーカイブ (.sar)、 コネクター .rar、アプリケーション・ クライアント .jar、 およびその他のファイルを更新できます。

アプリケーションが実行中に更新されると、 WebSphere Application Server は自動的にアプリケーションを停止し、 アプリケーション・ロジックを更新して、アプリケーションを再始動します。 アプリケーションが自動的に始動しない場合は、「始動中」オプションの 1 つを使用して手動で始動します。 更新済みアプリケーションの再始動について詳しくは、 IBM® WebSphere Developer Technical Journal: System management for WebSphere Application Server V6 -- パート 5 Flexible options for updating deployed applications にある「Fine-grained recycle behavior」を参照してください。

アプリケーションの実行中にモジュール・メタデータを更新した場合、 アプリケーションを再始動しても変更が有効にならないことがあります。例えば、アノテーションを使用する Java EE 6 アプリケーションの実行中に記述子を変更した場合には、アプリケーションを再インストールする必要があります。 アプリケーション内のクラス階層を導入、削除、または変更するクラスを変更し、 その変更がアノテーションを付けられたクラスに影響を及ぼす場合にも、 アプリケーションを再インストールする必要があります。

metadata-complete 属性

Web モジュールのメタデータを更新する際に、metadata-complete 属性を変更しなければならない場合があります。
  • metadata-complete が false の場合、2 つの新規ファイルが書き込まれます。 1 つは web_merged.xml で、web.xml とアノテーション・メタデータがマージされた結果を含みます。 もう 1 つの新規ファイルは ibm-metadata.xml, で、web_merged.xml には保管できない追加のアノテーション関連データを含みます。web_merged.xml ファイルには、 WAR の WEB-INF/lib の下にある JAR ファイル内の web-fragment.xml から読み取られる追加メタデータも含まれます。
  • metadata-complete が true の場合、web_merged.xml は生成されず、ibm-metadata.xml も作成されません。ibm-metadata.xml ファイルは、web_merged.xml ファイルが生成される場合のみ生成されます。
注: metadata-complete 属性を web.xml (または web-fragment.xml) から省略することができます。metadata-complete が省略された場合のデフォルト値は、false です。
metadata-complete 属性は、以下のように web.xml ファイルまたは web_merged.xml ファイルに追加する必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2011/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3.0.xsd" 
version="3.0" metadata-complete="true">
<display-name>TestServlet30</display-name>
</web-app>
web.xml ファイルおよび web_fragment.xml ファイルがホット・デプロイメント更新に使用される場合は、これらのファイルを更新する必要があります。 web_merged.xml のみが更新された場合、web_merged.xml の再生成につながる管理アクションが実行されると、ホット・デプロイメント変更は失われます。
重要: web.xml 内の metadata-complete が false の場合、 Servlet (web) 2.5 アプリケーションのホット・デプロイメントでは、web.xml および web_merged.xml を更新する必要があります。web.xml 内の metadata-complete が true の場合、Servlet (web) 2.5 アプリケーションのホット・デプロイメントでは、web.xml のみを更新する必要があります。

WAR ファイル内の web.xml と EJBJAR ファイル内の ejb-jar.xml の処理は同じです。WAR ファイルの場合、web.xml が存在しないか、metadata-complete が false に設定されていれば、web_merged.xml が作成されます。EJBJAR ファイルの場合、ejb-jar.xml が存在しないか、metadata-complete が false に設定されていれば、ejb-jar_merged.xml が作成されます。

いずれの場合でも、マージされた XML が作成された場合には常に、ibm-metadata.xml が作成されます。(また、このファイルが作成されるのは、マージされた XML が作成された場合に限ります)。

デプロイメントによって metadata-complete が false から true に変更されると、XML ファイル (web.xml または ejb-jar.xml) は作成または置換され、マージ XML ファイルは作成されず、ibm-metadata.xml は作成されません。

追加のケースとして、WAR ファイル内の EJB コンテンツ (EJB-IN-WAR) があります。このケースでは、以下のような複雑な規則が追加されます。
  • web.xml metadata-complete 設定は EJB-IN-WAR 処理と相互作用します。
  • WAR ファイル内に EJB コンテンツがない場合、 EJB-IN-WAR 処理は実行されません。
  • デプロイメントは独立して web.xml または ejb-jar.xml のいずれかの metadata-complete を false から true に変更することがあります。
  • マージされた XML のいずれかが作成されると、ibm-metadata.xml が作成されます。(また、いずれのマージされた XML も作成されない場合、このファイルは作成されません)。

EJB-IN-WAR に関しては、以下の規則が適用されます。

  • web.xml の metadata-complete が true に設定されていて ejb-jar.xml が存在しない場合、WAR ファイルに EJB アノテーションが存在しても、EJB-IN-WAR 処理は行われません。
  • web.xml の metadata-complete が false に設定されていて (または web.xml が存在せず)、ejb-jar.xml が存在しない場合、WAR ファイルに EJB アノテーションがあるときだけ、EJB-IN-WAR 処理が実行されます。
  • ejb-jar.xml が存在する場合、web.xml の metadata-complete 設定は、EJB 処理の内容の決定に使用されません。 ejb-jar.xml が存在する場合、EJB-IN-WAR 処理の内容は、ejb-jar.xml の metadata-complete 設定によって決まります。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=crun_app_upgrade
ファイル名:crun_app_upgrade.html