|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||
java.lang.Objectorg.apache.commons.dbcp.jdbc2pool.Jdbc2PoolDataSource
J2EE環境でのデプロイに適切なプーリングを行う DataSource です。
さまざまな設定オプションを持ちます。
複数のユーザがそれぞれの Connection の最大数等のパラメータの共通セットを持つことができます。
このプールはデプロイする環境がプロパティのマッピングによる初期化をサポートする場合、ユーザ毎の個々のプールを持つ機能をサポートします。
従って、例えば管理者、または書き込みアクセスのプールに対して一定の Connection
を保証し、読み込み専用の接続の数とは切り離して管理することができます。
J2EE コンテナは普通 DataSource を初期化するためのいくつかの方法を提供し、
初期化の為の属性は bean のゲッタ/セッタにて参照され、JNDI を経てデプロイされます。
これはプールされた論理的なデータベースへの接続の供給元としてとしてアプリケーションから利用することができます。
プールは物理的な接続の供給元を必要とします。
この供給元となる ConnectionPoolDataSource は JNDI を介してルックアップを行う
setDataSourceName(String) にて指定することができます。
普通、 Jdbc2PoolDataSource は JNDI 環境で使用されますが、
DriverAdapterCPDS は他の bean と同じようにインスタンス化、初期化されます。
この場合、 ConnectionPoolDataSource も同じような方法でインスタンス化されます。
この(コネクションの)供給元は setConnectionPoolDataSource(ConnectionPoolDataSource)
メソッドを使用して直接このプールにアタッチされます。
この DataSource が JNDI を経由して複数の要求を受けた場合、ルックアップ毎に状態を保持します。
また、この複数のインスタンスはそれぞれ(コネクションの)供給元に異なる
ConnectionPoolDataSource を使用してデプロイされます。
dbcp.cpdsadapter パッケージには Jdbc2PoolDataSource が使用することのできる
ConnectionPoolDataSource の実装は持たないが Driver
は提供されている JDBC ドライバ実装のためのアダプタ
DriverAdapterCPDS が含まれます。
パッケージドキュメント には catalina と JNDI を使用した場合と JNDI を使用しない場合の使用例が含まれています。
| コンストラクタの概要 | |
Jdbc2PoolDataSource()
Serialization のための引数のないデフォルトコンストラクタ。 |
|
| メソッドの概要 | |
Connection |
getConnection()
データベースとの接続の確立を試みます。 |
Connection |
getConnection(String username,
String password)
データベースとの接続の確立を試みます。 |
ConnectionPoolDataSource |
getConnectionPoolDataSource()
connectionPoolDataSource の値を取得します。 |
String |
getDataSourceName()
このプールの内部の ConnectionPoolDataSource の名前を取得します。 |
int |
getDefaultMaxActive()
このプールから1度に割り当てることのできるアクティブなコネクションの最大数です。 |
int |
getDefaultMaxIdle()
このプール内で開放されずにアイドル状態でいられるアクティブなコネクションの最大数です。 |
int |
getDefaultMaxWait()
利用可能なコネクションがない場合に例外を投げるまでプールが待機するミリセカンドの最大値です。 |
String |
getDescription()
記述情報(Description)の値を取得します。 |
String |
getJndiEnvironment(String key)
JNDI InitialContext のインスタンス化の際に使用される jndiEnvironment の値を取得します。 |
int |
getLoginTimeout()
loginTimeout の値を取得します。 |
PrintWriter |
getLogWriter()
logWriter の値を取得します。 |
int |
getMinEvictableIdleTimeMillis()
アイドル状態のオブジェクトがプール内に居られる最短時間を返します。 |
int |
getNumTestsPerEvictionRun()
アイドル状態のオブジェクトを排除するスレッドが1度の動作でチェックの対象とするオブジェクトの数を返します。 |
Object |
getObjectInstance(Object refObj,
Name name,
Context context,
Hashtable env)
このクラスのインスタンスを生成するための ObjectFactory の実装です。 |
Boolean |
getPerUserDefaultAutoCommit(String key)
ユーザ毎のオートコミットのデフォルトの設定値を取得します。 |
Boolean |
getPerUserDefaultReadOnly(String username)
ユーザ毎の読み込み専用アクセスのデフォルトの設定値(defaultReadOnly)を取得します。 |
Integer |
getPerUserMaxActive(String username)
ユーザ毎のこのプールから1度に割り当てることのできるアクティブなステートメントの最大数です。 |
Integer |
getPerUserMaxIdle(String username)
ユーザ毎の余分なものを開放せずにプール内にアイドル状態で保持できるステートメントの最大数です。 |
Integer |
getPerUserMaxWait(String username)
ユーザ毎の利用可能なコネクションがない場合に例外を投げるまでプールが待機するミリセカンドの最大値です。 |
Reference |
getReference()
JNDI 内にバインディングするためにオブジェクトを準備する Referenceable の実装です。
|
boolean |
getTestOnBorrow()
この値が true の場合、 ObjectPool.borrowObject()
にてプールからオブジェクトが取り出される前にチェックが行われます。
|
boolean |
getTestOnReturn()
この値が true の場合、 ObjectPool.returnObject(java.lang.Object)
にてプールへオブジェクトが返された後にチェックが行われます。
|
boolean |
getTestWhileIdle()
この値が true の場合、アイドル状態のオブジェクトを排除するスレッドにて チェックが行われます。
|
int |
getTimeBetweenEvictionRunsMillis()
アイドル状態のオブジェクトを排除するスレッドが次の動作までスリープする時間を示すミリセカンドの値を返します。 |
String |
getValidationQuery()
このプールにコネクションが返された後にコネクションのチェックに使用される SQL クエリです。 |
boolean |
isDefaultAutoCommit()
このプールから取り出されるコネクションの状態を定義する defaultAutoCommit の値を取得します。 |
boolean |
isDefaultReadOnly()
このプールから取り出されるコネクションの状態を定義する defaultReadOnly の値を取得します。 |
void |
setConnectionPoolDataSource(ConnectionPoolDataSource v)
バックエンドの ConnectionPoolDataSource を設定します。 |
void |
setDataSourceName(String v)
このプールの内部の ConnectionPoolDataSource の名前を設定します。 |
void |
setDefaultAutoCommit(boolean v)
このプールから取り出されるコネクションの状態を定義する defaultAutoCommit の値を設定します。 |
void |
setDefaultMaxActive(int maxActive)
このプールから1度に割り当てることのできるアクティブなコネクションの最大数です。 |
void |
setDefaultMaxIdle(int defaultMaxIdle)
このプール内で開放されずにアイドル状態でいられるアクティブなコネクションの最大数です。 |
void |
setDefaultMaxWait(int defaultMaxWait)
利用可能なコネクションがない場合に例外を投げるまでプールが待機するミリセカンドの最大値です。 |
void |
setDefaultReadOnly(boolean v)
このプールから取り出されるコネクションの状態を定義する defaultReadOnly の値を設定します。 |
void |
setDescription(String v)
記述情報(Description)の値を設定します。 |
void |
setJndiEnvironment(String key,
String value)
JNDI InitialContext のインスタンス化の際に使用される jndiEnvironment の値を設定します。 |
void |
setLoginTimeout(int v)
loginTimeout の値を設定します。 |
void |
setLogWriter(PrintWriter v)
logWriter の値を設定します。 |
void |
setMinEvictableIdleTimeMillis(int minEvictableIdleTimeMillis)
アイドル状態のオブジェクトがプール内に居られる最短時間を設定します。 |
void |
setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
アイドル状態のオブジェクトを排除するスレッドが1度の動作でチェックの対象とするオブジェクトの数を設定します。 |
void |
setPerUserDefaultAutoCommit(String username,
Boolean value)
ユーザ毎のオートコミットのデフォルトの設定値を設定します。 |
void |
setPerUserDefaultReadOnly(String username,
Boolean value)
ユーザ毎の読み込み専用アクセスのデフォルトの設定値(defaultReadOnly)を設定します。 |
void |
setPerUserMaxActive(String username,
Integer value)
ユーザ毎のこのプールから1度に割り当てることのできるアクティブなステートメントの最大数です。 |
void |
setPerUserMaxIdle(String username,
Integer value)
ユーザ毎の余分なものを開放せずにプール内にアイドル状態で保持できるステートメントの最大数です。 |
void |
setPerUserMaxWait(String username,
Integer value)
ユーザ毎の利用可能なコネクションがない場合に例外を投げるまでプールが待機するミリセカンドの最大値です。 |
void |
setTestOnBorrow(boolean testOnBorrow)
この値が true の場合、 ObjectPool.borrowObject()
にてプールからオブジェクトが取り出される前にチェックが行われます。
|
void |
setTestOnReturn(boolean testOnReturn)
この値が true の場合、 ObjectPool.returnObject(java.lang.Object)
にてプールへオブジェクトが返された後にチェックが行われます。
|
void |
setTestWhileIdle(boolean testWhileIdle)
この値が true の場合、アイドル状態のオブジェクトを排除するスレッドにて チェックが行われます。
|
void |
setTimeBetweenEvictionRunsMillis(int timeBetweenEvictionRunsMillis)
アイドル状態のオブジェクトを排除するスレッドが次の動作までスリープする時間を示すミリセカンドの値を設定します。 |
void |
setValidationQuery(String validationQuery)
このプールにコネクションが返された後にコネクションのチェックに使用される SQL クエリです。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
public Jdbc2PoolDataSource()
| メソッドの詳細 |
public Connection getConnection()
throws SQLException
DataSource 内の getConnectionSQLException
public Connection getConnection(String username,
String password)
throws SQLException
DataSource 内の getConnectionSQLExceptionpublic ConnectionPoolDataSource getConnectionPoolDataSource()
public String getDataSourceName()
public int getDefaultMaxActive()
public int getDefaultMaxIdle()
public int getDefaultMaxWait()
public String getDescription()
public String getJndiEnvironment(String key)
public int getLoginTimeout()
DataSource 内の getLoginTimeoutpublic PrintWriter getLogWriter()
DataSource 内の getLogWriterpublic int getMinEvictableIdleTimeMillis()
setMinEvictableIdleTimeMillis(int),
setTimeBetweenEvictionRunsMillis(int)public int getNumTestsPerEvictionRun()
setNumTestsPerEvictionRun(int),
setTimeBetweenEvictionRunsMillis(int)
public Object getObjectInstance(Object refObj,
Name name,
Context context,
Hashtable env)
throws Exception
ObjectFactory 内の getObjectInstanceExceptionpublic Boolean getPerUserDefaultAutoCommit(String key)
public Boolean getPerUserDefaultReadOnly(String username)
public Integer getPerUserMaxActive(String username)
public Integer getPerUserMaxIdle(String username)
public Integer getPerUserMaxWait(String username)
public Reference getReference()
throws NamingException
Referenceable の実装です。
Referenceable 内の getReferenceNamingExceptionpublic boolean getTestOnBorrow()
ObjectPool.borrowObject()
にてプールからオブジェクトが取り出される前にチェックが行われます。
チェックの結果、オブジェクトの状態が不適切と判断された場合このオブジェクトはプールから削除され、
他のオブジェクトを取り出すことを試みます。
setTestOnBorrow(boolean)public boolean getTestOnReturn()
ObjectPool.returnObject(java.lang.Object)
にてプールへオブジェクトが返された後にチェックが行われます。
setTestOnReturn(boolean)public boolean getTestWhileIdle()
チェックが行われます。
チェックの結果、オブジェクトの状態が不適切と判断された場合にはプールから削除されます。
setTestWhileIdle(boolean),
setTimeBetweenEvictionRunsMillis(int)public int getTimeBetweenEvictionRunsMillis()
setTimeBetweenEvictionRunsMillis(int)public String getValidationQuery()
public boolean isDefaultAutoCommit()
public boolean isDefaultReadOnly()
public void setConnectionPoolDataSource(ConnectionPoolDataSource v)
v - connectionPoolDataSource に割り当てる値
public void setDataSourceName(String v)
v - dataSourceName に割り当てる値
public void setDefaultAutoCommit(boolean v)
v - defaultAutoCommit に割り当てる値
public void setDefaultMaxActive(int maxActive)
public void setDefaultMaxIdle(int defaultMaxIdle)
public void setDefaultMaxWait(int defaultMaxWait)
public void setDefaultReadOnly(boolean v)
v - defaultReadOnly に割り当てる値
public void setDescription(String v)
v - 記述情報(Description)に割り当てる値
public void setJndiEnvironment(String key,
String value)
value - jndiEnvironment に割り当てる値
public void setLoginTimeout(int v)
DataSource 内の setLoginTimeoutv - loginTimeout に割り当てる値
public void setLogWriter(PrintWriter v)
DataSource 内の setLogWriterv - logWriter に割り当てる値
public void setMinEvictableIdleTimeMillis(int minEvictableIdleTimeMillis)
getMinEvictableIdleTimeMillis(),
setTimeBetweenEvictionRunsMillis(int)public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
マイナスの値が設定された場合、ceil({*link #numIdle})/abs({*link #getNumTestsPerEvictionRun}) の数のテストが実施されます。 例えば値が -n の場合にはアイドル状態のステートメントのうち 1/n が1度の動作でテストされます。
getNumTestsPerEvictionRun(),
setTimeBetweenEvictionRunsMillis(int)
public void setPerUserDefaultAutoCommit(String username,
Boolean value)
public void setPerUserDefaultReadOnly(String username,
Boolean value)
public void setPerUserMaxActive(String username,
Integer value)
public void setPerUserMaxIdle(String username,
Integer value)
public void setPerUserMaxWait(String username,
Integer value)
public void setTestOnBorrow(boolean testOnBorrow)
ObjectPool.borrowObject()
にてプールからオブジェクトが取り出される前にチェックが行われます。
チェックの結果、オブジェクトの状態が不適切と判断された場合このオブジェクトはプールから削除され、
他のオブジェクトを取り出すことを試みます。
getTestOnBorrow()public void setTestOnReturn(boolean testOnReturn)
ObjectPool.returnObject(java.lang.Object)
にてプールへオブジェクトが返された後にチェックが行われます。
getTestOnReturn()public void setTestWhileIdle(boolean testWhileIdle)
チェックが行われます。
チェックの結果、オブジェクトの状態が不適切と判断された場合にはプールから削除されます。
getTestWhileIdle(),
setTimeBetweenEvictionRunsMillis(int)public void setTimeBetweenEvictionRunsMillis(int timeBetweenEvictionRunsMillis)
getTimeBetweenEvictionRunsMillis()public void setValidationQuery(String validationQuery)
|
|||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||