15 WLDFアプリケーション・モジュールのデプロイメント
ノート:
次に注意してください:
-
インストゥルメンテーション・コンポーネントのみをアプリケーションで使用できます(「アプリケーション・スコープのインストゥルメンテーションの構成」を参照)。
-
インストゥルメンテーションをアプリケーションで使用できるようにするには、アプリケーションがデプロイされるサーバーでインストゥルメンテーションを有効にする必要があります。(サーバー・スコープ・インストゥルメンテーションは、サーバーの診断記述子の
<instrumentation>
要素で有効にしたり無効にしたりできます)。 -
デプロイメント・プランを使用してアプリケーションをデプロイできます。デプロイメント・プランを使用すると、構成の動的な更新が可能になります。
次の各項では、診断アプリケーション・モジュールのデプロイ方法を説明します。
- 診断モジュールのアプリケーション・スコープ・リソースとしてのデプロイ
診断モジュールをアプリケーション・スコープ・リソースとしてデプロイするには、weblogic-diagnostics.xml
という記述子ファイルでモジュールを構成します。次に、アプリケーション・アーカイブがデプロイ済アプリケーションのARCHIVE_PATH
/META-INF
ディレクトリにある状態で、記述子ファイルをパッケージします。 - インストゥルメンテーション構成を動的に制御するためのデプロイメント・プランの使用
WebLogic Serverでは、Java EEデプロイメント仕様API (JSR-88)で指定されているように、デプロイメント・プランをサポートしています。デプロイメント・プランを使用すると、アプリケーションのアーカイブに変更を加えることなく、ビルド後にアプリケーションの構成を変更できます。 - デプロイメント・プランの使用: 概要
デプロイメント・プランを使用して、アプリケーション・スコープの診断モジュールの構成オプションを動的に制御できます。 - weblogic.PlanGeneratorによるデプロイメント・プランの作成
PlanGeneratorツールは、選択したアプリケーションにあるすべてのJava EEデプロイメント記述子を検査し、アプリケーション用に外部リソースを構成するWebLogic Serverデプロイメント・プロパティのうち、関連するものに対して、変数部分が指定されていないデプロイメント・プランを作成します。 - 診断用のデプロイメント・プランのサンプル
PlanGeneratorを使用して、診断のシンプルなデプロイメント・プランを作成できます。 - Javaホットスワップの有効化
Java HotSwapを有効にして、変更済のデプロイメント・プランの値を使用してアプリケーション構成を更新できます。 - デプロイメント・プランによるアプリケーションのデプロイ
デプロイメント・プランによって提供される動的な制御を利用するには、プランを使用してアプリケーションをデプロイする必要があります。 - 変更したプランによるアプリケーションの更新
構成設定を変更するには、デプロイメント・プランを変更してから、ホットスワップが有効になっているかどうかに応じて、アプリケーションを更新または再デプロイします。
診断モジュールのアプリケーション・スコープ・リソースとしてのデプロイ
weblogic-diagnostics.xml
という記述子ファイルでモジュールを構成します。次に、アプリケーション・アーカイブがデプロイ済アプリケーションのARCHIVE_PATH
/META-INF
ディレクトリにある状態で、記述子ファイルをパッケージします。
C:\Oracle\Middleware\Oracle_Home\user_projects\applications\medrec\dist\standalone\exploded\medrec\META-INF\weblogic-diagnostics.xml
診断モジュールは、展開形式でも、展開形式でないアーカイブでもデプロイできます。
ノート:
META-INF
ディレクトリにweblogic-diagnostics.xml
記述子があるWAR、RARまたはEJBモジュールがEARアーカイブに含まれている場合、その記述子は無視されます。
デプロイメント制御用に用意された任意の標準WebLogic Serverツールを使用できます。このようなツールには、管理コンソールやWebLogic Scripting Tool (WLST)などがあります。
モジュールの作成およびアプリケーションのデプロイの方法の詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。
診断アプリケーション・モジュールおよび診断システム・モジュールがデプロイされる方法には様々な方法があるため、再構成の方法や変更が行われる場合については、相違点があります。表15-1を参照してください。診断アプリケーション・モジュールの作業については、この項で説明します。診断システム・モジュールの作業の詳細は、「インストゥルメンテーションの構成」を参照してください。
表15-1 システム・モジュールとアプリケーション・モジュールの比較
モニター・タイプ | オブジェクトの動的な追加/削除 | コンソールでのオブジェクトの追加/削除 | JMXでのリモート変更 | JSR-88での変更(非リモート) | コンソールでの変更 |
---|---|---|---|---|---|
システム・モジュール |
はい |
はい |
はい |
いいえ |
可 - JMXから |
アプリケーション・モジュール |
可(ホットスワップ脚注 1が有効な場合) 不可(ホットスワップが有効でない場合: モジュールを再デプロイする必要があります) |
はい |
いいえ |
はい |
可 - プランから |
脚注1
ホットスワップの詳細は、「インストゥルメンテーション構成を動的に制御するためのデプロイメント・プランの使用」を参照してください。
親トピック: WLDFアプリケーション・モジュールのデプロイメント
インストゥルメンテーション構成を動的に制御するためのデプロイメント・プランの使用
WebLogic Serverでは、Java EEデプロイメント仕様API (JSR-88)で指定されているように、デプロイメント・プランをサポートしています。デプロイメント・プランを使用すると、アプリケーションのアーカイブに変更を加えることなく、ビルド後にアプリケーションの構成を変更できます。
WebLogic Serverにおけるデプロイメント・プランの使用の詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の本番デプロイメントのためのアプリケーションの構成に関する項を参照してください。
デプロイメント・プランを使用せずにデプロイされたアプリケーションを再構成する場合は、アプリケーションをアンデプロイしてアーカイブを展開し、再構成して再びアーカイブしてから、再デプロイする必要があります。デプロイメント・プランを使用すると、アプリケーション・アーカイブを変更せずに、プランを更新するだけで、多くの構成オプションを動的に変更できます。
デプロイメント・プランを使用してアプリケーションをデプロイする前に、Javaホットスワップという機能を有効にしておくと(「Javaホットスワップの有効化」を参照)、アプリケーションを再デプロイせずに、すべてのインストゥルメンテーション設定を動的に更新できます。ホットスワップを有効にしていない場合、または、デプロイメント・プランを使用しない場合、一部のインストゥルメンテーション設定の変更では、再デプロイメントが必要になります。表15-2を参照してください。
表15-2 アプリケーション・インストゥルメンテーションの構成の変更が有効になる場合
使用するシナリオ ・ 設定 => | モニターの追加と削除 | アクションのアタッチとデタッチ | モニターの有効化と無効化 |
---|---|---|---|
デプロイメント・プランを使用してデプロイされるアプリケーション(ホットスワップが有効な場合) |
動的 |
動的 |
動的 |
デプロイメント・プランを使用してデプロイされるアプリケーション(ホットスワップが有効ではない場合) |
アプリケーションの再デプロイが必要脚注 2 |
動的 |
動的 |
デプロイメント・プランを使用せずにデプロイされるアプリケーション |
アプリケーションの再デプロイが必要 |
アプリケーションの再デプロイが必要 |
アプリケーションの再デプロイが必要 |
脚注2
ホットスワップが有効になっていない場合、モニターを削除できますが、そのモニターは無効になるのみです。インストゥルメンテーション・コードはアプリケーション・コードにウィービングされたままになります。変更後のプランを使用しても、そのモニターは再び有効にはなりません。
デプロイメント・プランを使用すると、アプリケーションを再デプロイしなくても、構成要素を動的に更新できます。
-
<enabled>
-
<dye-filtering-enabled>
-
<dye-mask>
-
<action>
親トピック: WLDFアプリケーション・モジュールのデプロイメント
デプロイメント・プランの使用:概要
デプロイメント・プランを使用して、アプリケーション・スコープの診断モジュールの構成オプションを動的に制御できます。
デプロイメント・プランを作成および使用する一般的なプロセスは次のとおりです。
親トピック: WLDFアプリケーション・モジュールのデプロイメント
weblogic.PlanGeneratorによるデプロイメント・プランの作成
PlanGeneratorツールは、選択したアプリケーションにあるすべてのJava EEデプロイメント記述子を検査し、アプリケーション用に外部リソースを構成するWebLogic Serverデプロイメント・プロパティのうち、関連するものに対して、変数部分が指定されていないデプロイメント・プランを作成します。
weblogic.PlanGeneratorツールを使用すると、初期状態のデプロイメント・プランを作成できます。またこのツールにはweblogic-diagnostics.xml
記述子の特定のプロパティを対話形式でオーバーライドする機能もあります。
プランを作成するには、次の構文を使用します。
java weblogic.PlanGenerator -plan output-plan.xml [options] application-path
たとえば:
java weblogic.PlanGenerator -plan foo.plan -dynamics /test/apps/mywar
ノート:
-dynamicsオプションは、動的に更新できるオプションのみを含めてプランを生成することを指定します。
デプロイメント・プランの作成および使用の詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「本番デプロイメントのためのアプリケーションの構成」を参照してください。
PlanGeneratorの使用方法の詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』の「weblogic.PlanGeneratorコマンド・ライン・リファレンス」および「新しい環境にデプロイするためのアプリケーションのエクスポート」を参照してください。
親トピック: WLDFアプリケーション・モジュールのデプロイメント
診断用のデプロイメント・プランのサンプル
PlanGeneratorを使用して、診断のシンプルなデプロイメント・プランを作成できます。
例15-1に、weblogic.PlanGeneratorを使用して生成される簡単なデプロイメント・プランを示します。(読みやすくするため、一部の情報は削除されています)。このプランでは、Servlet_Before_Serviceモニターを有効にして、それをアクションDisplayArgumentsActionおよびStackDumpActionに加えています。
例15-1 サンプル・デプロイメント・プラン
<?xml version='1.0' encoding='UTF-8'?> <deployment-plan xmlns="http://xmlns.oracle.com/weblogic/weblogic-diagnostics" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" global-variables="false"> <application-name>jsp_expr_root</application-name> <variable-definition> <!-- Add two additional actions to Servlet_Before_Service monitor --> <variable> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Actions_113050559713922</name> <value>"DisplayArgumentsAction","StackDumpAction"</value> </variable> <-- Enable the Servlet_Before_Service monitor --> <variable> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Enabled_113050559713927</name> <value>true</value> </variable> </variable-definition> <module-override> <module-name>jspExpressionWar</module-name> <module-type>war</module-type> <module-descriptor external="false"> <root-element>weblogic-web-app</root-element> <uri>WEB-INF/weblogic.xml</uri> </module-descriptor> <module-descriptor external="false"> <root-element>web-app</root-element> <uri>WEB-INF/web.xml</uri> </module-descriptor> <module-descriptor external="false"> <root-element>wldf-resource</root-element> <uri>META-INF/weblogic-diagnostics.xml</uri> <variable-assignment> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Actions_113050559713922</name> <xpath>/wldf-resource/instrumentation/wldf-instrumentation-monitor/[name="Servlet_Before_Service"]/action</xpath> </variable-assignment> <variable-assignment> <name>WLDFInstrumentationMonitor_Servlet_Before_Service_Enabled_113050559713927</name> <xpath>/wldf-resource/instrumentation/wldf-instrumentation-monitor/[name="Servlet_Before_Service"]/enabled</xpath> </variable-assignment> </module-descriptor> </module-override> <config-root xsi:nil="true"></config-root> </deployment-plan>
デプロイメント・プランで指定できる診断モニターとアクションのリストと説明については、「WLDFインストゥルメンテーション・ライブラリ」参照してください。
親トピック: WLDFアプリケーション・モジュールのデプロイメント
Javaホットスワップの有効化
Java HotSwapを有効にして、変更済のデプロイメント・プランの値を使用してアプリケーション構成を更新できます。
Javaホットスワップを有効にするには、次のコマンドライン・スイッチを使用してサーバーを起動します。
-javaagent:$WL_HOME/server/lib/diagnostics-agent.jar
親トピック: WLDFアプリケーション・モジュールのデプロイメント
デプロイメント・プランによるアプリケーションのデプロイ
デプロイメント・プランによって提供される動的な制御を利用するには、プランを使用してアプリケーションをデプロイする必要があります。
デプロイメントを制御するには、WebLogic Server管理コンソールやWebLogic Scripting Tool (WLST)などの標準のWebLogic Serverツールを使用できます。たとえば、次のWLSTコマンドでは、対応するデプロイメント・プランでアプリケーションをデプロイします。
wls:/mydomain/serverConfig> deploy('myApp', './myApp.ear', 'myserver', 'nostage', './plan.xml')
デプロイメント後に有効な診断モニター構成は、元の記述子と、プランから得られるオーバーライドされた属性値の組み合わせです。元の記述子に所定の名前のモニターが含まれず、プランでそのモニターの属性をオーバーライドした場合、そのモニターはアプリケーションで使用されるモニターのセットに追加されます。このように、アプリケーションが空のweblogic-diagnostics.xml
記述子と一緒にビルドされていれば、デプロイメント・プロセス中やその後で、アプリケーションのアーカイブを変更せずにアプリケーションに診断モニターを追加できます。
親トピック: WLDFアプリケーション・モジュールのデプロイメント
変更したプランによるアプリケーションの更新
構成設定を変更するには、デプロイメント・プランを変更してから、ホットスワップが有効になっているかどうかに応じて、アプリケーションを更新または再デプロイします。
「Javaホットスワップの有効化」を参照して、アプリケーションを更新するのみでよい場合と再デプロイが必要な場合を確認します。更新または再デプロイを行うには、WebLogic Server管理コンソールやWebLogic Scripting Tool (WLST)などの標準のWebLogic Serverツールを使用できます。
ホットスワップを有効にした場合は、プランを使用してアプリケーションを更新すると、変更後のプランの値でアプリケーションの構成を更新できます。たとえば、以下のWLSTコマンドは、プランを使用してアプリケーションを更新します。
wls:/mydomain/serverConfig> updateApplication('BigApp', 'c:/myapps/BigApp/newPlan/plan.xml', stageMode='STAGE', testMode='false')
ホットスワップを有効にしなかった場合、特定の変更を有効にするには、アプリケーションを再デプロイする必要があります。たとえば、以下のWLSTコマンドは、プランを使用してアプリケーションを再デプロイします。
wls:/mydomain/serverConfig> redeploy('myApp' 'c:/myapps/plan.xml')
親トピック: WLDFアプリケーション・モジュールのデプロイメント