![]() ![]() ![]() ![]() |
アプリケーションで使用できる WebLogic 診断フレームワーク (WLDF) コンポーネントはインスツルメンテーションのみです。「アプリケーション スコープのインスツルメンテーションのコンフィグレーション」を参照してください。
アプリケーションに対するインスツルメンテーションは、アプリケーション スコープのリソースである診断アプリケーション モジュールとしてコンフィグレーションおよび管理します。コンフィグレーションはアプリケーションと共にデプロイする記述子ファイル内に永続化されます。このようにデプロイされる診断モジュールは、同梱のアプリケーションでのみ使用可能です。アプリケーション スコープのリソースを使用することにより、アプリケーションは常に、必要なリソースへ確実にアクセスでき、アプリケーションを新しい環境にデプロイする処理が簡素化されます。
デプロイメント プランを使用してアプリケーションをデプロイできます。デプロイメント プランを使用すると、コンフィグレーションの動的な更新が可能になります。
注意 : | インスツルメンテーションをアプリケーションで使用できるようにするには、アプリケーションがデプロイされるサーバでインスツルメンテーションを有効にする必要があります (サーバ スコープ インスツルメンテーションは、サーバの診断記述子の <instrumentation> 要素で有効にしたり無効にしたりできます)。 |
以下の節では、WLDF アプリケーション モジュールのデプロイ方法について説明します。
診断モジュールをアプリケーション スコープ リソースとしてデプロイするには、weblogic-diagnostics.xml
という記述子ファイルでモジュールをコンフィグレーションします。次に、デプロイされるアプリケーションの ARCHIVE_PATH
/META-INF
ディレクトリで、アプリケーション アーカイブと一緒に記述子ファイルをパッケージ化します。次に例を示します。
D:\bea\wlserver_10.3\samples\server\medrec\dist\standalone\exploded\medrec\META-INF\weblogic-diagnostics.xml
診断モジュールは、展開形式でも、展開形式でないアーカイブでもデプロイできます。
注意 : | META-INF ディレクトリに weblogic-diagnostics.xml 記述子がある WAR、RAR または EJB モジュールが EAR アーカイブに含まれている場合、その記述子は無視されます。 |
デプロイメント制御用に用意された任意の標準 WebLogic Server ツールを使用できます。こうしたツールには、Administration Console や WebLogic Scripting Tool (WLST) などがあります。
モジュールの作成とアプリケーションのデプロイメントの詳細については、『WebLogic Server アプリケーションのデプロイメント』を参照してください。
診断アプリケーション モジュールと診断システム モジュールにはさまざまなデプロイ方法があるため、再コンフィグレーションが可能かどうかや変更が行われる場合については、相違点があります。表 13-1 を参照してください。診断アプリケーション モジュールの作業については、この章で説明します。診断システム モジュールの作業の詳細については、「インスツルメンテーションのコンフィグレーション」を参照してください。
|
WebLogic Server では、J2EE デプロイメント仕様 API (JSR-88) で指定されているように、デプロイメント プランをサポートしています。デプロイメント プランを使用すると、アプリケーションのビルド後に、そのアプリケーションのアーカイブに変更を加えることなく、コンフィグレーションを変更できます。WebLogic Server におけるデプロイメント プランの使用の詳細については、『WebLogic Server アプリケーションのデプロイメント』の「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」を参照してください。
デプロイメント プランを使用せずにデプロイされたアプリケーションを再コンフィグレーションする場合は、アプリケーションをアンデプロイしてアーカイブを展開し、再コンフィグレーションして再びアーカイブしてから、再デプロイする必要があります。デプロイメント プランを使用すると、アプリケーション アーカイブを変更せずに、プランを更新するだけで、多くのコンフィグレーション オプションを動的に変更できます。
デプロイメント プランを使用してアプリケーションをデプロイする前に、「ホットスワップ」という機能を有効にしておくと (「ホットスワップ機能の有効化」を参照)、アプリケーションを再デプロイせずに、すべてのインスツルメンテーション設定を動的に更新することができます。ホットスワップを有効にしていない場合、または、デプロイメント プランを使用しない場合、一部のインスツルメンテーション設定の変更では、再デプロイメントが必要になります。表 13-2 を参照してください。
|
デプロイメント プランを使用すると、アプリケーションを再デプロイしなくても、コンフィグレーション要素を動的に更新できます。
デプロイメント プランを作成および使用する一般的なプロセスは次のとおりです。
weblogic-diagnostics.xml
記述子ファイルを作成します。
空の記述子を作成することをお勧めします。そうすることで、コンフィグレーションを動的に変更する柔軟性を得られます。元の記述子ファイル内にモニタを作成し、デプロイメント プランを使用してその設定をオーバーライドすることができます。ただし、再デプロイしないとモニタを完全には削除できません。デプロイメント プランを使用して空の記述子にモニタを追加した場合、そのモニタはすべて削除することができます。診断アプリケーション モジュールのコンフィグレーションについては、「アプリケーション スコープのインスツルメンテーションのコンフィグレーション」を参照してください。
weblogic-diagnostics.xml
のスキーマは、http://www.bea.com/ns/weblogic/weblogic-diagnostics/1.1/weblogic-diagnostics.xsd にあります。
META-INF
ディレクトリに、記述子ファイル weblogic-diagnostics.xml
を置きます。
weblogic.PlanGenerator
ツールを使用すると、初期状態のデプロイメント プランを作成できます。またこのツールには weblogic-diagnostics.xml
記述子の特定のプロパティを対話形式でオーバーライドする機能もあります。
PlanGenerator
ツールは、選択したアプリケーションにあるすべての J2EE デプロイメント記述子を確認し、アプリケーション用に外部リソースをコンフィグレーションする WebLogic Server デプロイメント プロパティのうち、関連するものに対して、変数部分が指定されていないデプロイメント プランを作成します。
java weblogic.PlanGenerator -plan output-plan.xml [options]
application-path
java weblogic.PlanGenerator -plan foo.plan -dynamics /test/apps/mywar
注意 : | -dynamics オプションは、動的に更新できるオプションのみを含めてプランを生成することを指定します。 |
デプロイメント プランの作成と使用に関する詳細については、『WebLogic Server アプリケーションのデプロイメント』の「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」を参照してください。
PlanGenerator
の使用の詳細については、『WebLogic Server アプリケーションのデプロイメント』の「weblogic.PlanGenerator コマンドライン リファレンス」および「新しい環境にデプロイするためのアプリケーションのエクスポート」を参照してください。
コード リスト 13-1 では、weblogic.PlanGenerator
を使用して生成される簡単なデプロイメント プランを示します (読みやすくするため、一部の情報は削除されています)。このプランでは、Servlet_Before_Service
モニタを有効にして、アクション DisplayArgumentsAction
および StackDumpAction
にアタッチしています。
<?xml version='1.0' encoding='UTF-8'?>
<deployment-plan xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
global-variables="false">
<application-name>jsp_expr_root</application-name>
<variable-definition>
<!-- Servlet_Before_Service モニタに 2 つのアクションを追加する -->
<variable>
<name>WLDFInstrumentationMonitor_Servlet_Before_Service_Actions_113050559713922</name>
<value>"DisplayArgumentsAction","StackDumpAction"</value>
</variable>
<-- Servlet_Before_Service モニタを有効にする -->
<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 インスツルメンテーション ライブラリ」を参照してください。
ホットスワップ機能を有効にするには、以下のコマンドライン スイッチを使用してサーバを起動します。
-javaagent:$WL_HOME/server/lib/diagnostics-agent.jar
デプロイメント プランによって提供される動的な制御を利用するには、プランを使用してアプリケーションをデプロイする必要があります。
デプロイメントを制御するには、Administration Console や WebLogic Scripting Tool (WLST) などの標準の WebLogic Server ツールを使用できます。たとえば、次の WLST コマンドでは、対応するデプロイメント プランでアプリケーションをデプロイします。
wls:/mydomain/serverConfig> deploy('myApp', './myApp.ear', 'myserver',
'nostage', './plan.xml')
デプロイメント後に有効な診断モニタ コンフィグレーションは、元の記述子と、プランから得られるオーバーライドされた属性値の組み合わせです。元の記述子に所定の名前のモニタが含まれず、プランでそのモニタの属性をオーバーライドした場合、そのモニタはアプリケーションで使用されるモニタのセットに追加されます。このように、アプリケーションが空の weblogic-diagnostics.xml
記述子と一緒にビルドされていれば、デプロイメント プロセス中やその後で、アプリケーションのアーカイブを変更せずにアプリケーションに診断モニタを追加できます。
コンフィグレーション設定を変更するには、デプロイメント プランを変更してから、ホットスワップが有効になっているかどうかに応じて、アプリケーションを更新または再デプロイします (表 13-2 を参照して、アプリケーションを更新するだけでよい場合と再デプロイが必要な場合を確認してください)。更新または再デプロイを行うには、Administration Console や 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')
![]() ![]() ![]() |