プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server RESTful Webサービスの開発と保護
12c (12.2.1.3.0)
E90341-02
目次へ移動
目次

前
次

7 RESTful Webサービスとクライアントの監視

Oracle WebLogic Serverでは、Java API for RESTful Web Services (JAX-RS)を使用して、Representational State Transfer (REST)アーキテクチャ・スタイルに従ったJava EE Webサービスを監視する様々な方法がサポートされています。

RESTful Webサービスの監視について

WebLogic ServerではランタイムMBeanが提供され、実行時情報を取得してRESTful Webサービス・アプリケーションの実行時統計を監視できます。JAX-RSアプリケーションでパフォーマンスのホットスポットの特定、特定のリソースの実行統計の監視、またはアプリケーションやリクエスト・ライフサイクル・イベントのリスニングを行う必要がある場合に、アプリケーションの監視機能が役立ちます。

表7-1で定義されているメソッドを使用すると、RESTful Webサービス・アプリケーションを監視できます。

表7-1 RESTful Webサービスの監視用メソッド

メソッド 説明

Enterprise Manager Fusion Middleware Control

実行時情報にアクセスし、実行時統計を監視します。詳細は、「Enterprise Manager Fusion Middleware Controlを使用したRESTful Webサービスの監視」を参照してください

WebLogic Server管理コンソール

実行時情報にアクセスし、実行時統計を監視します。詳細は、管理コンソールを使用したRESTful Webサービスの監視を参照してください

WebLogic Scripting Tool (WLST)

実行時情報にアクセスし、実行時統計を監視します。詳細は、WLSTを使用したRESTful Webサービスの監視を参照してください

ログ・フィルタ

リクエストが処理される方法と、Jersey JAX-RS RIコンポーネントにディスパッチされる方法を監視します。詳細は、「トレース機能の有効化」を参照してください

表7-1で説明されている監視メソッドに加えて、Jersey 2.x (JAX-RS 2.0 RI)には、イベント・リスナーおよび統計の監視のサポートなど、他にも監視機能があります。Jersey 2.22 User GuideJerseyアプリケーションの監視に関する項を参照してください。

注意:

RESTful Webサービスの監視機能は、デフォルトで有効になっています。これによって、メモリー消費が増加する場合があります。監視機能は、ドメイン・レベルおよびアプリケーション・レベルで無効にできます。RESTful Webサービスのアプリケーション監視の無効化を参照してください。

Enterprise Manager Fusion Middleware Controlを使用したRESTful Webサービスの監視

Enterprise Manager Fusion Middleware Controlを使用すると、RESTfulアプリケーションおよびリソースの実行時統計(エラー数、呼出し回数、実行回数など)を監視できます。詳細は、Webサービスの管理のWebサービスの監視を参照してください。

管理コンソールを使用したRESTful Webサービスの監視

WebLogic Server管理コンソールを使用すると、デプロイメントおよび構成データの詳細、グローバル実行統計、リソースおよびリソース・メソッド実行統計などの、RESTful Webアプリケーションとリソースの拡張された実行時統計を監視できます。

WebLogic Server管理コンソールを使用してデプロイ済のRESTful Webサービスを監視するには、次の手順を実行します。

  1. 次のURLを使用して、ブラウザでWebLogic Server管理コンソールを呼び出します。
    http://[host]:[port]/console
    

    各文字列の説明:

    • host - WebLogic Serverが動作しているコンピュータの名前。

    • port - WebLogic Serverがリスニングしているポート番号(デフォルト値は7001です)。

  2. WebLogic Server管理コンソール・オンライン・ヘルプのRESTful Webサービスの監視で説明されている手順に従います。

WLSTを使用したRESTful Webサービスの監視

WLSTを使用すると、ランタイムMBeanを監視できます。これにより、RESTful Webサービス・アプリケーションの実行時情報および実行時統計を取得できます。これらのMBeansは、表7-2のリストで説明されています。

表7-2 RESTful Webサービスの監視用ランタイムMBean

ランタイムMBean 説明

ExceptionMapperStatistics

RESTful Webサービス・アプリケーションの例外マッパーの実行に関する監視情報を表示します。Oracle WebLogic Server MBeanリファレンスJaxRsExceptionMapperStatisticsRuntimeMBeanを参照してください。

JaxRsApplication

RESTful Webサービス・アプリケーションの監視情報を表示します。Oracle WebLogic Server MBeanリファレンスJaxRsApplicationRuntimeBeanを参照してください。

RequestStatistics

RESTful Webサービス・アプリケーションで実行されたリクエストに関する監視情報を表示します。統計情報はアプリケーションで処理されたすべてのリクエストに適用され、特定のリソースまたはリソース・メソッドに関連したものではありません。Oracle WebLogic Server MBeanリファレンスJaxRsExecutionStatisticsRuntimeMBeanを参照してください。

ResourceConfig

RESTful Webサービス・アプリケーションのリソース構成に関する監視情報を表示します。Oracle WebLogic Server MBeanリファレンスJaxRsResourceConfigTypeRuntimeBeanを参照してください。

注意: JaxRsResourceConfigTypeRuntimeBeanは、今回のリリースのWebLogic Serverで非推奨になりました。かわりに、JaxRsApplicationRuntimeMBeanPropertiesおよびApplicationClass属性を使用する必要があります。Oracle WebLogic Server MBeanリファレンスJaxRsApplicationRuntimeBeanを参照してください。

ResponseStatistics

RESTful Webサービス・アプリケーションで作成されたレスポンスに関する監視情報を表示します。統計情報はアプリケーションで作成されたすべてのレスポンスに適用され、特定のリソースまたはリソース・メソッドに関連したものではありません。Oracle WebLogic Server MBeanリファレンスJaxRsResponseStatisticsRuntimeMBeanを参照してください。

RootResources

RESTful Webサービスのリソースに関する監視情報を表示します。コンテナにより管理されるすべてのオブジェクト(EJBなど)はアプリケーション・スコープを含みます。その他のすべてのリソースはデフォルトでリクエスト・スコープを含みます。Oracle WebLogic Server MBeanリファレンスJaxRsResourceRuntimeMBeanを参照してください。

注意: このMBeanは、今回のリリースのWebLogic Serverで非推奨になりました。かわりに、 RootResourcesByClassを使用する必要があります。

RootResourcesByClass

RESTful Webサービス・アプリケーションでデプロイされているリソース・クラスごとの監視情報を表示します。1つのリソース・クラスが、各URIに一致するリクエストに対応します。配列には、サブリソース・ロケータから返されたサブリソースのリソース・モデルおよびリソース・クラスに登録されたリソース・クラスが含まれています。Oracle WebLogic Server MBeanリファレンスJaxRsResourceRuntimeMBeanを参照してください。

RootResourcesbyURI

RESTful Webサービス・アプリケーションで公開されているURIごとの監視情報を表示します。Oracle WebLogic Server MBeanリファレンスJaxRsUriRuntimeMBeanを参照してください。

Servlet

RESTful Webサービス・アプリケーションをホストするサーブレットの監視情報を表示します。Oracle WebLogic Server MBeanリファレンスServletRuntimeMBeanを参照してください。

WLSTを使用してRESTful Webサービスを監視するには、次のプロシージャの手順を実行します。

このプロシージャでは、手順の例により、WebLogic Serverのサンプル・サーバーとともに提供されるJAX-RS 2.0同期処理サンプルの監視方法を示します。Oracle WebLogic Serverの理解のサンプル・アプリケーションとコード例を参照してください。

  1. WebLogic Scripting Toolの理解のWLSTの呼出しの説明に従って、WLSTを呼び出します。

    以下に例を示します。

    c:\Oracle\oracle_common\common\bin> wlst
    
  2. WebLogic Server WLSTコマンド・リファレンスのconnectの説明に従って、管理サーバー・インスタンスに接続します。

    以下に例を示します。

    wls:/offline> connect('weblogic','password','t3://localhost:8001') 
    
  3. WebLogic Server WLSTコマンド・リファレンスのserverRuntimeの説明に従って、サーバー・ランタイムMBeanに移動します。

    以下に例を示します。

    wls:/samples/serverConfig> serverRuntime()
    Location changed to serverRuntime tree. This is a read-only tree
    with ServerRuntimeMBean as the root.
    For more help, use help('serverRuntime')
    wls:/samples/serverRuntime> 
  4. Webアプリケーション・コンポーネント・ランタイムMBeanに移動します。

    たとえば、jaxrs-asyncという名前のアプリケーションのランタイムMBeanに移動するには、次を実行します。

    wls:/samples/serverRuntime> cd('ApplicationRuntimes/jaxrs-async')
    wls:/samples/serverRuntime/ApplicationRuntimes/jaxrs-async> cd('ComponentRuntimes')
    wls:/samples/serverRuntime/ApplicationRuntimes/jaxrs/ComponentRuntimes> cd ('AdminServer_/jaxrs-async')
    
  5. RESTful Webサービス・リクエスト統計のアプリケーション・ランタイムMBeanに移動します。

    以下に例を示します。

    wls:/samples/serverRuntime/ApplicationRuntimes/jaxrs-async/ComponentRuntimes> cd ('AdminServer_/jaxrs-async'
    wls:/samples_domain/serverRuntime/ApplicationRuntimes/jaxrs-async/ComponentRuntimes/AdminServer_/jaxrs-async>
    cd ('JaxRsApplications/examples.javaee7.jaxrs.async.MessageApplication/RequestStatistics/examples.javaee7.jaxrs.async.MessageApplication_RequestStatistics')
    
  6. RESTful Webサービス・アプリケーションについて表示される監視情報を確認します。Oracle WebLogic Server MBeanリファレンスJaxRsApplicationRuntimeBeanを参照してください。

    以下に例を示します。

    wls:/samples/serverRuntime/ApplicationRuntimes/jaxrs-async/ComponentRuntimes/AdminServer_/jaxrs-async
    /JaxRsApplications/examples.javaee7.jaxrs.async.MessageApplication/RequestStatistics
    /examples.javaee7.jaxrs.async.MessageApplication_RequestStatistics> 
    ls()
    -r--   AvgTimeLast15m                               -1
    -r--   AvgTimeLast15s                               -1
    -r--   AvgTimeLast1h                                -1
    -r--   AvgTimeLast1m                                -1
    -r--   AvgTimeLast1s                                -1
    -r--   AvgTimeTotal                                 0
    -r--   MaxTimeLast15m                               -1
    -r--   MaxTimeLast15s                               -1
    -r--   MaxTimeLast1h                                -1
    -r--   MaxTimeLast1m                                -1
    -r--   MaxTimeLast1s                                -1
    -r--   MaxTimeTotal                                 0
    -r--   MinTimeLast15m                               -1
    -r--   MinTimeLast15s                               -1
    -r--   MinTimeLast1h                                -1
    -r--   MinTimeLast1m                                -1
    -r--   MinTimeLast1s                                -1
    -r--   MinTimeTotal                                 0
    -r--   Name                                         examples.javaee7.jaxrs.async.MessageApplication_RequestStatisti
    cs
    -r--   RequestCountLast15m                          0
    -r--   RequestCountLast15s                          0
    -r--   RequestCountLast1h                           0
    -r--   RequestCountLast1m                           0
    -r--   RequestCountLast1s                           0
    -r--   RequestCountTotal                            0
    -r--   RequestRateLast15m                           0.0
    -r--   RequestRateLast15s                           0.0
    -r--   RequestRateLast1h                            0.0
    -r--   RequestRateLast1m                            0.0
    -r--   RequestRateLast1s                            0.0
    -r--   RequestRateTotal                             0.0
    -r--   Type                                         JaxRsExecutionStatisticsRuntime
     
    wls:/samples/serverRuntime/ApplicationRuntimes/jaxrs-async/ComponentRuntimes/AdminServer_/jaxrs-async
    /JaxRsApplications/examples.javaee7.jaxrs.async.MessageApplication/RequestStatistics
    /examples.javaee7.jaxrs.async.MessageApplication_RequestStatistics>
    
  7. 表7-2に示された他のランタイムMBeanのいずれかに移動して、追加の監視情報を表示します。

  8. WebLogic Scripting Toolの理解のWLSTの終了の説明に従って、WLSTを終了します。

    以下に例を示します。

    wls:/samples/serverRuntime/ApplicationRuntimes/jaxrs-async/ComponentRuntimes/AdminServer_/jaxrs-async
    /JaxRsApplications/examples.javaee7.jaxrs.async.MessageApplication/RequestStatistics
    /examples.javaee7.jaxrs.async.MessageApplication_RequestStatistics>exit()
    Exiting WebLogic Scripting Tool.
    c:\>
    

トレース機能の有効化

Jerseyトレース機能は、リクエストが処理されJersey JAX-RS RIコンポーネントにディスパッチされる状況を説明する有用な情報を提供します。 トレース・メッセージは発生順に出力されるので、その番号はトレース順序を再構成するのに役立ちます。

有効な場合、Jersey 2.xトレース機能により、JAX-RSサーバー側リクエスト処理パイプラインのすべてのコンポーネントから個々のリクエストについて有用な情報が収集されます。収集された情報は、JerseyまたはJAX-RSアプリケーションをトラブルシューティングするために、きわめて重要な詳細情報となることがあります。

単一リクエストのトレース情報は、レスポンスのHTTPヘッダーでリクエスト元のクライアントに返されます。さらに、その情報は専用のJavaロガー・インスタンスを使用してサーバー側で記録されます。

Jersey 2.xトレース機能の有効化の詳細は、Jersey 2.22 User Guideトレースのサポートに関する項を参照してください。

RESTful Webサービスのアプリケーション監視の無効化

個々のJersey 2.x Java API for RESTful Web Services (JAX-RS)アプリケーションに対して、あるいはWebLogicドメイン全体に対してグローバルに、監視機能を無効にできます。

たとえば、次の方法で監視を無効化できます。

WebLogic Serverでは、次のアルゴリズムを使用して、各アプリケーションで監視を有効にするか無効にするかを判定します。

  1. WebLogic Serverでは、JAX-RSアプリケーション・プロパティjersey.config.wls.server.monitoring.enabledをチェックします。

    このプロパティがアプリケーションに設定されている場合、WebLogic Serverはこの値を使用して、そのアプリケーションに対して監視を有効にするか無効にするかを判定します。この値が設定されていない場合、次の手順に進みます。

  2. WebLogic Serverでは、個々のアプリケーションに対して構成MBeanのWebAppComponentMBean.JaxRsMonitoringDefaultBehaviorプロパティをチェックします。

    このプロパティがアプリケーションに設定されている場合、WebLogic Serverはこの値を使用して、そのアプリケーションに対して監視を有効にするか無効にするかを判定します。この値が設定されていない場合、次の手順に進みます。

  3. WebLogic Serverでは、ドメインに対して構成MBeanのWebAppContainerMBean.JaxRsMonitoringDefaultBehaviorプロパティ設定をチェックします。

    このプロパティがドメインに設定されている場合、WebLogic Serverはこの値を使用して、アプリケーションの監視を有効にするか無効にするかを判定します。この値が設定されていない場合、次の手順に進みます。

  4. 前の手順で構成プロパティが設定されていなかった場合、WebLogic Serverではデフォルト設定を使用します。これは、アプリケーションのJAX-RS監視を有効にします。

JerseyプロパティによるRESTful Webサービス・アプリケーションの監視の無効化

Jersey 2.xでは、次のWebLogic Server固有のプロパティをサポートしています。これを使用すると、個々のRESTful Webサービス・アプリケーションのアプリケーションの監視を無効にできます。

jersey.config.wls.server.monitoring.enabled

このプロパティをfalseに設定すると、アプリケーションの監視が無効になります。JAX-RSアプリケーションのサブクラス・コードで、この値をプログラムで設定できます。また、次の例で示すようにweb.xmlで指定したサーブレット初期化パラメータで宣言して設定することもできます。

便宜上、プロパティ名はweblogic.jaxrs.server.WeblogicServerProperties.MONITORING_ENABLED定数フィールドに格納されます。

例7-1に、JAX-RSアプリケーション・クラスを拡張し、プログラムによってRESTful Webサービス・アプリケーションで監視を無効にする方法の例を示します。

例7-1 JAX-RSアプリケーション・クラスの拡張によるプログラムでのアプリケーション監視の無効化

ApplicationPath("/")
public class MyApplication extends Application {
 
  public Map<String, Object> getProperties() {
    final Map<String, Object> properties = new HashMap<>();
    // Disable JAX-RS Application monitoring (and WLS console monitoring) for this internal application.
    properties.put(weblogic.jaxrs.server.WeblogicServerProperties.MONITORING_ENABLED, false);
 
    return properties;
  }
}

例7-2に、JAX-RS Jersey ResourceConfigクラスを拡張し、RESTful Webサービス・アプリケーションでプログラムによって監視を無効にする方法の例を示します。

例7-2 Jersey ResourceConfigクラスの拡張によるプログラムでのアプリケーション監視の無効化

@ApplicationPath("/")
public class MyApplication extends ResourceConfig {
 
  public MyApplication() {
    // ...
 
    // Disable JAX-RS Application monitoring (and WLS console monitoring) for this internal application.
    property(weblogic.jaxrs.server.WeblogicServerProperties.MONITORING_ENABLED, false);
  }
 
  // ...
}

例7-1に、web.xmlで指定したサーブレット初期化パラメータを使用して、宣言で監視を無効にする方法の例を示します。

例7-3 web.xmlでサーブレット初期化パラメータを使用した宣言でのアプリケーション監視の無効化

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
  <servlet>
    <servlet-name>com.examples.MyApplication</servlet-name>
    ...
    <init-param>
      <param-name>jersey.config.wls.server.monitoring.enabled</param-name>
      <param-value>false</param-value>
    </init-param>
    ...
    <load-on-startup>1</load-on-startup>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>com.examples.MyApplication</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>

WebLogic構成MBeanによるRESTful Webサービス・アプリケーションの監視の無効化

WebLogic ServerにRESTful Webサービス・アプリケーションをデプロイした後、WLSTを使用して、アプリケーションの監視を無効にできます。たとえば、次のようにWebAppComponentMBeanJaxRsMonitoringDefaultBehaviorプロパティをfalseに設定します。

webAppComponentMBean.setJaxRsMonitoringDefaultBehavior("false")

これはアプリケーションごとのプロパティです。JAX-RSアプリケーションのデフォルトの監視動作の状態を判定するためにJersey/WebLogicの統合コードで内部的に使用されます。

  • trueに設定すると、JAX-RSアプリケーションの監視は有効になります。

  • falseに設定すると、JAX-RSアプリケーションの監視は無効になります。

  • プロパティが設定されていない場合、ドメイン・レベルのWebアプリケーション・コンテナ・プロパティWebAppContainerMBean.isJaxRsMonitoringDefaultBehavior())をフォールバックとして使用します。

注意:

アプリケーション固有のこのプロパティの値(設定されている場合)は、ドメイン・レベルの構成プロパティをオーバーライドします。

デフォルトでは、この値は明示的に設定されていません。

WebLogicドメインのRESTful Webサービスのアプリケーション監視の無効化

アプリケーションの監視は、WebLogicドメインにデプロイされているすべてのRESTful Webサービス・アプリケーションに対して、デフォルトで有効になっています。WebLogicドメインのこのデフォルトの動作を戻して、ドメインにデプロイされたすべてのRESTful Webサービス・アプリケーションに対してJAX-RS監視を無効にするには(アプリケーション固有の構成によってオーバーライドされない場合)、WebAppContainerMBeanJaxRsMonitoringDefaultBehaviorプロパティをfalseに設定します。

WebAppContainerMBean.setJaxRsMonitoringDefaultBehavior("false")

このWebアプリケーション・コンテナ・プロパティは、ドメイン・レベルでJAX-RSアプリケーションの監視の動作を判定するために、Jersey/WebLogic統合コードで使用されるドメイン・レベルのプロパティです。

  • trueに設定されている場合(またはこのプロパティが設定されていない場合)、JAX-RS監視は有効になります(アプリケーションで直接設定されたプロパティでオーバーライドされない場合)。デフォルトでは、このプロパティは明示的に設定されておらず、監視は有効になっています。

  • falseに設定されている場合、すべてのJAX-RSアプリケーションの監視は指定されたドメインに対してデフォルトで無効になっています。

注意:

各JAX-RSアプリケーションのこのドメイン・レベルの設定をオーバーライドするには、アプリケーション・レベルの同じプロパティWebAppComponentMBean#isJaxRsMonitoringDefaultBehavior())を設定します。WebLogic構成MBeanによるRESTful Webサービス・アプリケーションの監視の無効化を参照してください。

WLSTコマンドを使用して、ドメインのWebAppContainerMBean.JaxRsMonitoringDefaultBehaviorプロパティを更新してから、例7-4に示すように、ドメインの起動またはアプリケーションのデプロイを実行できます。

例7-4に、デフォルトでドメイン全体でJAX-RS監視を無効にするサンプルWLSTスクリプトを示します。

例7-4 ドメイン・レベルでのJAX-RS監視を無効にするサンプルWLSTスクリプト

connect(<user>, <password>)    
edit()
startEdit()
cd("WebAppContainer/<domain_name>/")
cmo.setJaxRsMonitoringDefaultBehavior(false)
activate()

注意:

監視を無効にしてからドメインを再起動して、以前にデプロイしたすべてのアプリケーションが新しい設定で再デプロイされていることを確認する必要があります。

例7-5に、jax-rs-monitoring-default-behavior設定をfalseに変更後、DOMAIN_NAME/config/config.xmlで生成されたドメイン構成ドキュメントのセクションを示します。

例7-5 ドメイン・レベルでJAX-RS監視を無効にしているconfig.xmlファイル

<?xml version='1.0' encoding='UTF-8'?>
<domain ...>
  <name>mydomain</name>
  ...
  <web-app-container>
    <jax-rs-monitoring-default-behavior>false
</jax-rs-monitoring-default-behavior>
  </web-app-container>
  ...
</domain>

注意:

前述の手順は可能ですが、直接config.xmlファイルを編集することはお薦めしません。Oracle WebLogic Serverドメイン構成の理解のドメイン構成ファイルを参照してください。

RESTful Webサービス・アプリケーションにおける合成Jerseyリソースの監視の有効化

RESTful Webサービス・アプリケーションがWebLogic Serverにデプロイされている場合、(JAX-RS仕様の要件を満たす)Jerseyランタイムはすべてのアプリケーション・リソースを調査し、最終的に、追加の合成リソースまたはリソース・メソッド(あるいはその両方)でアプリケーションのリソース・モデルを拡張します。 たとえば、合成リソースおよびリソース・メソッドは次をサポートするために追加されます。
  • JAX-RSアプリケーション全体へのWADLの公開、およびデプロイしたリソースへの部分的なWADの公開を行うリソース。

  • JAX-RSアプリケーションの各リソースまたはリソース・メソッドのOPTIONSメソッド・ハンドラ。

  • JAX-RSアプリケーションの各リソースまたはリソース・メソッドのHEADメソッド・ハンドラ。

アプリケーションによっては、非常に多数の合成リソースがデプロイ済アプリケーションに追加される可能性があります。パフォーマンス上の理由から、WebLogic Serverでは、デフォルトで、これらの拡張合成リソースおよびリソース・メソッドにランタイムMBeanを公開しません。

ただし、次のJersey 2.x/JAX-RSアプリケーション・プロパティをtrueに設定すると、WebLogic Server管理コンソールでこれらの追加の合成リソースに関する情報を表示できます。

jersey.config.wls.server.monitoring.extended.enabled

次の例で示すように、JAX-RSアプリケーションのサブクラス・コードで、この値をプログラムで設定できます。また、web.xmlで指定したサーブレット初期化パラメータで宣言して設定することもできます。

便宜上、プロパティ名はweblogic.jaxrs.server.WeblogicServerProperties.MONITORING_EXTENDED_ENABLED定数フィールドに格納されます。

例7-6に、JAX-RSアプリケーション・クラスを拡張し、プログラムによってJAX-RSアプリケーションで合成リソースの監視を有効にする方法の例を示します。

例7-6 JAX-RSアプリケーション・クラスの拡張によるプログラムでの合成監視の有効化

@ApplicationPath("/")
public class MyApplication extends Application {
  
  public Map<String, Object> getProperties() {
    final Map<String, Object> properties = new HashMap<>();
    // Expose MBeans for extended JAX-RS resources and resource methods
    properties.put(weblogic.jaxrs.server.WeblogicServerProperties.MONITORING_EXTENDED_ENABLED, true);
  
    return properties;
  }
}

例7-7に、JAX-RS Jersey ResourceConfigクラスを拡張し、プログラムによってJAX-RS/Jerseyアプリケーションで合成リソースの監視を有効にする方法の例を示します。

例7-7 Jersey ResourceConfigクラスの拡張によるプログラムでの合成監視の有効化

@ApplicationPath("/")
public class MyApplication extends ResourceConfig {
  
  public MyApplication() {
    // ...
  
    // Expose MBeans for extended JAX-RS resources and resource methods
    property(weblogic.jaxrs.server.WeblogicServerProperties.MONITORING_EXTENDED_ENABLED, true);
  }
  
  // ...
}

例7-8に、web.xmlで指定したサーブレット初期化パラメータを使用して、宣言で合成リソースの監視を有効にする方法の例を示します。

例7-8 web.xmlでサーブレット初期化パラメータを使用した宣言での合成監視の有効化

<?xml version="1.0" encoding="ISO-8859-1"?>
  
<web-app version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  
   <servlet>
    <servlet-name>com.examples.MyApplication</servlet-name>
    ...
    <init-param>
      <param-name>jersey.config.wls.server.monitoring.extended.enabled</param-name>
      <param-value>true</param-value>
    </init-param>
    ...
    <load-on-startup>1</load-on-startup>
  </servlet>
  
  <servlet-mapping>
    <servlet-name>com.examples.MyApplication</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
</web-app>