このプロパティはperである必要がありますDataSource
(ただし、私が見る限り、JDBC仕様でこれについて明示的に言及されていません)。一部のドライバーのDataSource実装は、接続の作成時にDriverManagerを使用しません。
ただし、DriverManager自体は値を処理しないため(保存する場合を除く)、DriverManagerに設定された値をドライバーが明示的に使用する必要があることに注意してください。たとえば、PostgreSQLドライバーは、JDBC url、Propertiesオブジェクト、またはDataSourceプロパティで明示的なタイムアウトが構成されていない場合にのみDriverManager値を使用します。
その理由DriverManager.setLoginTimeout()
は、どのドライバーがDriverManager(*)によって実際に使用されているかを制御しないため、それを制御する唯一の方法はDriverManagerを使用することです。
(*)もちろん、クラスパスに追加したドライバー(および、Java 5以前の場合:明示的にロードしたドライバー)を除きます。