1

<local-tx-datasource>IBM DB2 9.7データベースでJBossデータソース()を使用しています。接続は正常に機能します。

ただし、、、、およびプロパティを有効にしようとしましたが<track-statements>、それらが機能していることをどのように確認できますか?データソースを使用しているときにサーバーコンソールにエラーや警告は表示されませんが、拡張ログも取得されません。<valid-connection-checker><check-valid-connection-sql>

以下は私が使用しているもののわずかに変更されたバージョンです。さまざまなプロパティの組み合わせを試しました。以下では、check-valid-connection-sqlプロパティをコメントアウトしましたが、有効、失効、および例外ソーターのプロパティを有効にしました。JBoss5を使用していますが、影響があるのでしょうか。

たとえば、finally句で休止状態のセッションcloseステートメントを削除しようとしましたが、何もログに記録されません。以下の追加のプロパティが何らかの理由で有効になっていないか、少なくともそれらがJBossserver.logログファイルに記録されていないようです。

<datasources>
<local-tx-datasource>
<jndi-name>[jndiname]</jndi-name>
<connection-url>jdbc:db2://[ip]:[port]/[dbname]</connection-url>
<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>
<user-name>[user]</user-name>
<password>[password]</password>
<min-pool-size>10</min-pool-size>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker"></valid-connection-checker>
<stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2StaleConnectionChecker"></stale-connection-checker>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter"/>
<track-statements>true</track-statements>
  <metadata>
     <type-mapping>DB2</type-mapping>
  </metadata>

4

1 に答える 1

0

、、、および(デフォルトでtrueに設定されている)が適切に設定されている場合はvalid-connection-checker-class-name、データベースサーバーで手動で停止を実行して動作することをテストし、JBossがデータソースプールを再接続して有効な接続で更新するかどうかを確認できます。check-valid-connection-sqlvalidate-on-match

track-statements本番環境で有効にしておくことはお勧めしません。これは主に、コード内のステートメントとresultSetを適切に閉じていないかどうかを追跡するためのデバッグ機能です。開発サーバーまたはテストサーバーでオンにして、適切に閉じていることを確認します(たとえば、finallyブロックで閉じます)。「開いたままにした結果セットを閉じます。自分で閉じてください」などのメッセージを検証することでテストできます。サーバーログ。

于 2013-03-11T14:55:45.583 に答える