エンタープライズ・アプリケーション・ファイルの更新方法
サーバーまたはクラスターにデプロイされた Java™ Platform, Enterprise Edition (Java EE) アプリケーション・ファイルは、いくつかの方法で更新することができます。
オプション | メソッド | コメント | 更新後の開始 |
---|---|---|---|
管理コンソール更新ウィザード コンソールを使用したエンタープライズ・アプリケーションの更新を参照してください。 Java EE アプリケーションまたはモジュールから 1 つのファイルを除去する場合は、 エンタープライズ・ファイルの除去に関するトピックを参照してください。 |
簡単には、以下を実行します。
|
「アプリケーションの更新の準備」ページで、以下を実行します。
|
「エンタープライズ・アプリケーション」ページで、更新したアプリケーションを選択して、「始動」をクリックします。 |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() デプロイメント・マネージャーがモニターするディレクトリーでのインストールでは、ノード・エージェントまたはサーバーが稼働していない場合、製品ではアプリケーションまたはモジュールが自動的に始動されません。 |
![]() ![]() |
![]() ![]()
|
![]() ![]() |
![]() ![]() デプロイメント・マネージャーがモニターするディレクトリーでのインストールでは、ノード・エージェントまたはサーバーが稼働していない場合、製品ではアプリケーションまたはモジュールが自動的に始動されません。 |
wsadmin スクリプト wsadmin スクリプト・ツールによるインストール済みアプリケーションの更新に関するトピックを参照してください。 |
スクリプトまたはコマンド・プロンプトで、update コマンドまたは updateInteractive コマンドを 使用します。update コマンドおよび updateInteractive コマンドについて詳しくは、 AdminApp オブジェクトのコマンドに関するトピックを参照してください。 | wsadmin の概要については、『wsadmin スクリプトの入門』を参照してください。 | invoke コマンドおよび startApplication 属性を使用して、 アプリケーションを開始します。 invoke コマンドについて詳しくは、 AdminControl オブジェクトのコマンドに関するトピックを参照してください。 |
Java アプリケーション・プログラミング・インターフェース 管理プログラム (JMX) の使用に関するトピックを参照してください。 |
『プログラミングによるアプリケーション管理』に関するトピックの手順を実行して、 デプロイしたアプリケーションを更新します。 | 以下の方法でアプリケーションを更新します。
|
AdminControl を使用して、ApplicationManager MBean の startApplication メソッドを呼び出します。 |
ラピッド・デプロイメント・ツール 『J2EE アプリケーションの高速デプロイメント』にあるトピックを参照してください。 |
簡単には、以下を実行します。
|
ラピッド・デプロイメント・ツールには以下の利点があります。
|
前述のオプションのいずれかを使用し、アプリケーションを開始します。 「エンタープライズ・アプリケーション」ページで「開始」をクリックするのが、最も簡単な方法です。 |
ホット・デプロイメントと動的再ロード | 簡単には、以下を実行します。
|
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 属性
- 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 ファイルが生成される場合のみ生成されます。
<?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 の再生成につながる管理アクションが実行されると、ホット・デプロイメント変更は失われます。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 は作成されません。
- 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 設定によって決まります。