クエリタイムアウト[queryTimeout]の設定が効いていない可能性があります。
java.sql.Statementに クエリタイムアウトを設定するためには、JDBCコネクションをWebOTXの実装クラスでラップしている必要があります。
例えば、コネクションのガベージコレクト機能の動作オプション[checkGarbageOption]を rollbackにするなどしてラップするよう設定を変更してください。
次の場合には、JDBCコネクションをラップしませんので、クエリタイムアウトを設定できません(JDBCドライバからStatementを入手できません)。
---
javax.sql.DataSourceのgetConnectionメソッドは、次の条件を全て満たす場合にJDBCドライバベンダのJDBCコネクションクラスを直接返却します。
それ以外の場合には、WebOTXの実装クラスでラップされています。
・dataSourceTypeプロパティの値が次のいずれかである
JDBCEX_Oracle、JDBCEX_SequeLink、JDBCEX_Cloudscape
・checkGarbageOptionプロパティの値がnoneである
・useOneConnectionPerTransactionプロパティの値がfalseである
・wrapStatementプロパティの値がfalseである
・モニタリングレベルがHIGHではない
・JDBCドライバログのレベルがデフォルトのWARNである
上記の条件に該当しておらず、クエリタイムアウトが設定されているにも関わらずタイムアウトが発生しない場合には、NEORC (
http://www.nec.co.jp/oracle)にお問合せください。
【対象製品】Application Server
【確認済みのバージョン】V8.2以降
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】JDBCデータソース
【カテゴリー】トラブルシューティング