Hitachi

Hitachi Advanced Data Binder AP開発ガイド


8.4.41 setQueryTimeout(int seconds)

〈この項の構成〉

(1) 機能

SQL処理のタイムアウト時間を設定します。

(2) 形式

public synchronized void setQueryTimeout(int seconds) throws SQLException

(3) 引数

int seconds

SQL処理のタイムアウト時間(単位:秒)を0〜65,535の範囲で指定します。

0を指定した場合,またはこのメソッドを実行しない場合は,システムプロパティ,ユーザプロパティ,または接続用のURLのプロパティのadb_clt_rpc_sql_wait_timeの設定値が有効になります。

このメソッドを実行すると,次に示す2つの待ち時間が監視対象になります。

  • HADBクライアントからHADBサーバに処理要求をしてから,応答が戻ってくるまでの待ち時間

    上記の待ち時間を超えた場合,SQLCODE-732KFAA30732-E)のタイムアウトエラーがAPに返されます。このとき,SQL文の処理はキャンセルされ,トランザクションはロールバックされます。そのあと,HADBサーバからAPが切り離されます。

  • 同一コネクションで複数のSELECT文を同時実行した際に,処理リアルスレッド数不足が発生したときの,処理リアルスレッドを確保できるまでの待ち時間

    上記の待ち時間を超えた場合,SQLCODE-1071570KFAA71570-E)のタイムアウトエラーがAPに返されます。このとき,SQL文の処理はキャンセルされますが,トランザクションはロールバックされません。また,APはHADBサーバから切り離されません。

このメソッドによる待ち時間の監視の目的については,「7.4.1 データの検索方法」の「(4) 同一コネクションで複数のSELECT文を同時実行する際の注意事項」を参照してください。

(4) 戻り値

なし。

(5) 発生する例外

次に示す場合にSQLExceptionが投入されます。

(6) 留意事項

secondsに65,536(プロパティのadb_clt_rpc_sql_wait_timeの最大値)以上の値を指定した場合,このメソッドの指定値は無視されます。