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のコンテキスト設定ファイル)」を参照してください。
-
Server要素に子要素として設定を追記する。
${CATALINA_BASE}/conf/server.xml(Tomcatのサーバ設定ファイル)に記載されているServer要素の子要素として,次の内容を追記してください。Server要素のほかの子要素よりも前に記載することを推奨します。
<Listener className="com.cosminexus.appruntime.tomcat.tracer.ServerComponentHandler" />
-
Engine要素に子要素として設定を追記する。
${CATALINA_BASE}/conf/server.xml(Tomcatのサーバ設定ファイル)に記載されているEngine要素の子要素として,次の内容を追記してください。Engine要素のほかの子要素よりも前に記載することを推奨します。
<Valve className="com.cosminexus.appruntime.tomcat.tracer.RequestTraceValve" />
-
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" ・・・省略・・・ />
-
-
Context要素に子要素として設定を追記する。
${CATALINA_BASE}/conf/context.xml(Tomcatのコンテキスト設定ファイル)に記載されているContext要素の子要素として,次の内容を追記してください。Context要素のほかの子要素との記載順序は問いません。
<Loader loaderClass="com.cosminexus.appruntime.tomcat.classloader.WebappDirectoryClassLoader" /> -
ユーザプログラムを変更する。
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) { // クラスが見つからなかった場合の例外処理 } -
必要に応じてconfig.properties(本製品の設定ファイル)のプロパティを設定する。
config.properties(本製品の設定ファイル)については,「25.2 config.properties(本製品の設定ファイル)」を参照してください。