構成プロパティーを使用して JDBC トレースを開始する例

JDBC アプリケーションを変更せずに、そのアプリケーションのトレースを制御できます。

接続ごとに 1 つのトレース・ファイルにトレース・データを書き込む例

IBM® Data Server Driver for JDBC and SQLJ タイプ 4 接続を使用する Test.javaという名前のプログラムのトレース・データを収集するとします。 Test.java はトレースを行いませんが、プログラムを変更するつもりはありません。そのため、構成プロパティーを使用してトレースを使用可能にします。 トレース出力に以下の特性を持たせることにします。
  • 同じ DataSource での各接続のトレース情報は別個のトレース・ファイルに書き込まれます。 出力は /Trace という名前のディレクトリーに入れられます。
  • 各トレース・ファイルの名前は jccTrace1 で始まります。
  • 同じ名前のトレース・ファイルが既に存在する場合、トレース・データがそれらに追加されます。

Test.java にはトレースを行うコードは何も含まれていませんが、トレースを行うよう将来アプリケーションを変更した場合は、プログラム内の設定が構成プロパティー内の設定よりも優先するように、構成プロパティーを設定するものとします。 これを行うには、db2.jcc.override ではなく、db2.jcc で始まる構成プロパティーの設定を使用します。

構成プロパティー設定は次のようになります。
  • db2.jcc.traceDirectory=/Trace
  • db2.jcc.traceFile=jccTrace1
  • db2.jcc.traceFileAppend=true
トレース設定をスタンドアロン・プログラム Test.javaにのみ適用する必要があるため、これらの設定でファイルを作成し、 -Ddb2.jcc.propertiesFile オプションを指定して Java™ プログラムを呼び出すときにそのファイルを参照します。 その設定を含むファイルが /Test/jcc.properties であるとします。 Test.java の実行時にトレースを使用可能にするには、次のようなコマンドを発行します。
java -Ddb2.jcc.propertiesFile=/Test/jcc.properties Test
Test.java が 1 つの DataSource に対して 2 つの接続を作成するとします。 プログラムは logWriter オブジェクトを定義しません。そのため、ドライバーはトレース出力用にグローバル logWriter オブジェクトを作成します。 プログラムが完了すると、以下のファイルにトレース・データが含まれています。
  • /Trace/jccTrace1_global_0
  • /Trace/jccTrace1_global_1

固定のファイル数、固定ファイル・サイズで循環トレースを行う例

IBM Data Server Driver for JDBC and SQLJ タイプ 4 接続を使用する Test.javaという名前のプログラムのトレース・データを収集するとします。 Test.java はトレースを行いませんが、プログラムを変更するつもりはありません。そのため、構成プロパティーを使用してトレースを使用可能にします。 トレース出力に以下の特性を持たせることにします。
  • 同じ DataSource への各接続のトレース情報は、別個のセットのトレース・ファイルに書き込まれます。
  • 各接続に対して作成されるトレース・ファイルの最大数は 4 です。
  • すべてのトレース・ファイルが満杯になったときは、作成された最初のトレース・ファイルから順に、既存のトレース・データが上書きされます。
  • 各トレース・ファイルの最大サイズは 4 MB です。
  • 各トレース・ファイルの名前は jcc.log で始まり、/Trace という名前のディレクトリーに書き込まれます。
  • 同じ名前のトレース・ファイルが既に存在する場合、トレース・データは上書きされます。

Test.java にはトレースを行うコードは何も含まれていませんが、トレースを行うよう将来アプリケーションを変更した場合は、プログラム内の設定が構成プロパティー内の設定よりも優先するように、構成プロパティーを設定するものとします。 これを行うには、db2.jcc で始まる構成プロパティー・セットを使用します。

構成プロパティー設定は次のようになります。
  • db2.jcc.traceFile=jcc.log
  • db2.jcc.traceOption=1
  • db2.jcc.traceFileSize=4194304
  • db2.jcc.traceFileCount=4
  • db2.jcc.traceFileAppend=false
トレース設定をスタンドアロン・プログラム Test.javaにのみ適用する必要があるため、これらの設定を使用してファイルを作成し、 -Ddb2.jcc.propertiesFile オプションを指定して Java プログラムを呼び出すときにそのファイルを参照します。 その設定を含むファイルが /Test/jcc.properties であるとします。 Test.java の実行時にトレースを使用可能にするには、次のようなコマンドを発行します。
java -Ddb2.jcc.propertiesFile=/Test/jcc.properties Test

Test.java が 1 つの DataSource に対して 2 つの接続を作成するとします。 プログラムは logWriter オブジェクトを定義しません。そのため、ドライバーはトレース出力用にグローバル logWriter オブジェクトを作成します。 プログラムの実行中に、 IBM Data Server Driver for JDBC and SQLJ は、最初の接続では 17 MB のデータ、2 番目の接続では 10 MB のデータを書き込みます。

プログラムが完了すると、以下のファイルにトレース・データが含まれています。

  • /Trace/jcc.log_global_0.1
  • /Trace/jcc.log_global_0.2
  • /Trace/jcc.log_global_0.3
  • /Trace/jcc.log_global_0.4
  • /Trace/jcc.log_global_1.1
  • /Trace/jcc.log_global_1.2
  • /Trace/jcc.log_global_1.3

/Trace/jcc.log_global_0.1 には、最初の接続について書き込まれた最後の 1 MB のトレース・データが、その接続について書き込まれた最初の 1 MB のトレース・データを上書きする形で含まれています。