- すべてのスーパー・インタフェース:
CommonDataSource
,Wrapper
このDataSource
オブジェクトが表す物理データ・ソースへの接続に対するファクトリです。 DriverManager
機能の代わりに、DataSource
オブジェクトが接続を得るための適切な手段となります。 DataSource
インタフェースを実装するオブジェクトは、通常、Java Naming and Directory (JNDI) APIに基づいてネーミング・サービスに登録されます。
DataSource
インタフェースは、ドライバ・ベンダーによって実装されています。 実装には3種類あります。
- 基本実装 -- 標準
Connection
オブジェクトを生成する - 接続プール実装 -- 自動的に接続プールに参加する
Connection
オブジェクトを生成する。 この実装は中間層の接続プール管理プログラムとともに動作する。 - 分散トランザクション実装 -- 分散トランザクションで使用され、ほとんどの場合に常に接続プールに参加する
Connection
オブジェクトを生成する。 この実装は中間層のトランザクション・マネージャと、多くの場合は常に接続プール管理プログラムとともに動作する。
DataSource
オブジェクトは、必要に応じて変更可能なプロパティを保持します。 たとえば、データ・ソースが別のサーバーへ移動した場合、そのサーバーについてのプロパティを変更できます。 データ・ソースのプロパティを変更できるため、データ・ソースにアクセスするコードを変更する必要がないという利点があります。
DataSource
オブジェクトを介してアクセスされたドライバは、自分自身をDriverManager
で登録しません。 かわりに、DataSource
オブジェクトはルックアップ操作によって取得され、Connection
オブジェクトの作成に使用されます。 基本実装では、DataSource
オブジェクトにより取得された接続は、DriverManager
機能により取得した接続と同じものになります。
DataSource
の実装には引数なしのpublicコンストラクタが含まれている必要があります。
- 導入されたバージョン:
- 1.4
-
メソッドのサマリー
修飾子と型メソッド説明default ConnectionBuilder
新しいConnectionBuilder
インスタンスを作成このDataSource
オブジェクトが表すデータ・ソースへの接続の確立を試みます。getConnection
(String username, String password) このDataSource
オブジェクトが表すデータ・ソースへの接続の確立を試みます。int
データベースへの接続試行中に、このデータ・ソースが待機する最長時間(秒)を取得します。このDataSource
オブジェクトのログ・ライターを取得します。void
setLoginTimeout
(int seconds) データベースへの接続試行中に、このデータ・ソースが待機する最長時間(秒)を指定します。void
setLogWriter
(PrintWriter out) このDataSource
オブジェクトのログ・ライターをjava.io.PrintWriter
オブジェクトに設定します。インタフェースjavax.sql.CommonDataSourceで宣言されたメソッド
createShardingKeyBuilder, getParentLogger
インタフェースjava.sql.Wrapperで宣言されたメソッド
isWrapperFor, unwrap
-
メソッドの詳細
-
getConnection
Connection getConnection() throws SQLExceptionこの
DataSource
オブジェクトが表すデータ・ソースへの接続の確立を試みます。- 戻り値:
- データ・ソースへの接続
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合SQLTimeoutException
- ドライバが、setLoginTimeout
メソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき
-
getConnection
この
DataSource
オブジェクトが表すデータ・ソースへの接続の確立を試みます。- パラメータ:
username
- その代理として接続が行われるデータベース・ユーザーpassword
- ユーザーのパスワード- 戻り値:
- データ・ソースへの接続
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合SQLTimeoutException
- ドライバが、setLoginTimeout
メソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき- 導入されたバージョン:
- 1.4
-
getLogWriter
PrintWriter getLogWriter() throws SQLExceptionこの
DataSource
オブジェクトのログ・ライターを取得します。ログ・ライターとは、このデータ・ソースに対するすべてのロギング・メッセージやトレース・メッセージの出力先となるキャラクタ出力ストリームのことです。 このオブジェクトのメソッドによって出力されたメッセージや、このオブジェクトが作成した他のオブジェクトのメソッドによって出力されたメッセージなども含まれます。 データ・ソース固有のログ・ライターに表示されたメッセージは、
java.sql.DriverManager
クラスに関連付けられたログ・ライターには出力されません。DataSource
オブジェクトが作成されると、ログ・ライターはnullに初期化されます。つまり、デフォルトではロギングは無効です。- 定義:
- インタフェース
CommonDataSource
内のgetLogWriter
- 戻り値:
- このデータ・ソースのログ・ライター。ログの取得が無効の場合はnull
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
setLogWriter
void setLogWriter(PrintWriter out) throws SQLException この
DataSource
オブジェクトのログ・ライターをjava.io.PrintWriter
オブジェクトに設定します。ログ・ライターとは、このデータ・ソースに対するすべてのロギング・メッセージやトレース・メッセージの出力先となるキャラクタ出力ストリームのことです。 このオブジェクトのメソッドによって出力されたメッセージや、このオブジェクトが作成した他のオブジェクトのメソッドによって出力されたメッセージなども含まれます。 データ・ソース固有のログ・ライターに表示されたメッセージは、
java.sql.DriverManager
クラスに関連付けられたログ・ライターには出力されません。DataSource
オブジェクトが作成されると、ログ・ライターはnullに初期化されます。つまり、デフォルトではロギングは無効です。- 定義:
- インタフェース
CommonDataSource
内のsetLogWriter
- パラメータ:
out
- 新しいログ・ライター。ロギングを無効にする場合はnullに設定する- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
setLoginTimeout
void setLoginTimeout(int seconds) throws SQLException データベースへの接続試行中に、このデータ・ソースが待機する最長時間(秒)を指定します。 値が0のとき、デフォルトのシステム・タイムアウトが設定されている場合はその値になります。そうでない場合はタイムアウトしないことを意味します。
DataSource
オブジェクトが作成されると、ログイン・タイムアウトは0に初期化されます。- 定義:
- インタフェース
CommonDataSource
内のsetLoginTimeout
- パラメータ:
seconds
- データ・ソースのログイン制限時間- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合。- 導入されたバージョン:
- 1.4
- 関連項目:
-
getLoginTimeout
int getLoginTimeout() throws SQLExceptionデータベースへの接続試行中に、このデータ・ソースが待機する最長時間(秒)を取得します。 値が0のとき、デフォルトのシステム・タイムアウトが設定されている場合はその値になります。そうでない場合はタイムアウトしないことを意味します。DataSource
オブジェクトが作成されると、ログイン・タイムアウトは0に初期化されます。- 定義:
- インタフェース
CommonDataSource
内のgetLoginTimeout
- 戻り値:
- データ・ソースのログイン制限時間
- 例外:
SQLException
- データベース・アクセス・エラーが発生した場合。- 導入されたバージョン:
- 1.4
- 関連項目:
-
createConnectionBuilder
default ConnectionBuilder createConnectionBuilder() throws SQLException新しいConnectionBuilder
インスタンスを作成- 実装要件:
- デフォルトの実装では、
SQLFeatureNotSupportedException
がスローされます。 - 戻り値:
- 作成されたConnectionBuilderインスタンス
- 例外:
SQLException
- ビルダーの作成中にエラーが発生した場合SQLFeatureNotSupportedException
- 運転手がシャーディングをサポートしていない場合- 導入されたバージョン:
- 9
- 関連項目:
-