Hitachi

uCosminexus Application Runtime for Spring Boot ユーザーズガイド


21.2.2 WARデプロイ形式のセットアップ方法

次の手順でセットアップしてください。ただし,手順3はSpring Bootが生成したjavax.sql.DataSourceクラスのBeanを使用する場合は実施しないでください。

なお,server.xmlについては「25.6 server.xml(Tomcatのサーバ設定ファイル)」を,context.xmlについては「25.7 context.xml(Tomcatのコンテキスト設定ファイル)」を参照してください。

  1. Server要素に子要素として設定を追記する。

    ${CATALINA_BASE}/conf/server.xml(Tomcatのサーバ設定ファイル)に記載されているServer要素の子要素として,次の内容を追記してください。Server要素のほかの子要素よりも前に記載することを推奨します。

    <Listener className="com.cosminexus.appruntime.tomcat.tracer.ServerComponentHandler" />
  2. Engine要素に子要素として設定を追記する。

    ${CATALINA_BASE}/conf/server.xml(Tomcatのサーバ設定ファイル)に記載されているEngine要素の子要素として,次の内容を追記してください。Engine要素のほかの子要素よりも前に記載することを推奨します。

    <Valve  className="com.cosminexus.appruntime.tomcat.tracer.RequestTraceValve" />
  3. Resource要素のjdbcInterceptors属性に設定を追記する。

    Tomcat管理のTomcat JDBC Connection Poolを使用する場合(Tomcat JDBC Connection PoolをCommonクラスローダでロードする場合):

    次のファイルに記載されているResource要素のjdbcInterceptors属性にcom.cosminexus.appruntime.tomcat.tracer.JdbcTraceHandlerを追記してください。ただし,Resource要素のfactory属性がorg.apache.tomcat.jdbc.pool.DataSourceFactoryの場合に限ります。

    • ${CATALINA_BASE}/conf/server.xml(Tomcatのサーバ設定ファイル)

    • ${CATALINA_BASE}/conf/context.xml(Tomcatのコンテキスト設定ファイル)

    設定を追記しない場合は,データベースアクセスのトレースを取得できません。

    設定を追記する例を次に示します。太字が追記する個所です。

    <Resource
      ・・・省略・・・
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      ・・・省略・・・
      jdbcInterceptors="com.cosminexus.appruntime.tomcat.tracer.JdbcTraceHandler"
      ・・・省略・・・
      />
  4. Context要素に子要素として設定を追記する。

    ${CATALINA_BASE}/conf/context.xml(Tomcatのコンテキスト設定ファイル)に記載されているContext要素の子要素として,次の内容を追記してください。Context要素のほかの子要素との記載順序は問いません。

    <Loader loaderClass="com.cosminexus.appruntime.tomcat.classloader.WebappDirectoryClassLoader" />
  5. ユーザプログラムを変更する。

    Eclipse Jersey 2.x 系を使用する場合:

    ユーザプログラムの変更は不要です。手順6に進んでください。

    Eclipse Jersey以外のJAX-RSクライアントを使用する場合:

    ユーザプログラム中のClientオブジェクトにJaxrsClientTraceFeatureを登録する必要があります。登録しない場合,JAX-RSクライアントのトレースを取得できません。登録する例を次に示します。

    import javax.ws.rs.client.Client;
     
    Client client = <Clientオブジェクトの取得>;
    try {
        client.register(Class.forName("com.cosminexus.appruntime.common.tracer.JaxrsClientTraceFeature")); // JaxrsClientTraceFeatureの登録
    } catch (ClassNotFoundException e) {
        // クラスが見つからなかった場合の例外処理
    }
  6. 必要に応じてconfig.properties(本製品の設定ファイル)のプロパティを設定する。

    config.properties(本製品の設定ファイル)については,「25.2 config.properties(本製品の設定ファイル)」を参照してください。