15.2.2 WARデプロイ形式のセットアップ方法
次の手順でセットアップしてください。ただし,手順3はSpring Bootが生成したjavax.sql.DataSourceクラスのBeanを使用する場合は実施しないでください。
なお,server.xmlについては「18.5 server.xml(Tomcatのサーバ設定ファイル)」を,context.xmlについては「18.6 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属性に設定を追記する。
Spring Bootが生成したjavax.sql.DataSourceクラスのBeanを使用する場合:
手順4に進んでください。次のとおりResourceタグのjdbcInterceptors属性に設定を追記すると,データベースアクセスのトレースが二重に出力されるおそれがあるためです。
Spring Bootが生成したjavax.sql.DataSourceクラスのBeanを使用しないで,Tomcat JDBC Connection Poolを使用する場合:
次のファイルに記載されている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(本製品の設定ファイル)については,「18.2 config.properties(本製品の設定ファイル)」を参照してください。