jp.livewell.baby.pool.jdbc
クラス ConnectionPool

java.lang.Object
  |
  +--jp.livewell.baby.pool.AbstractPool
        |
        +--jp.livewell.baby.pool.DefaultPool
              |
              +--jp.livewell.baby.pool.jdbc.ConnectionPool
すべての実装インタフェース:
javax.sql.DataSource, Pool, javax.naming.Referenceable

public class ConnectionPool
extends DefaultPool
implements javax.sql.DataSource, javax.naming.Referenceable

JDBC Connection(のWrapper)をプールするclassです。

作成者:
mitsuhito

フィールドの概要
static int CONNECT_ACCEPT
          このプールから接続は出来るがプーリングの対象になっていない場合の値で 1です
static int CONNECT_IMPOSSIBLE
          このプールでは接続そのものが出来ない場合の値で0です。
static int CONNECT_POOLING
          このプールでプーリングしている場合の値で2です。
 
コンストラクタの概要
ConnectionPool(ConnectionPoolInfo info)
          ConnectionPoolをプール構築の設定情報(PoolInfo)とConnectionFactoryか ら構築します。
 
メソッドの概要
 java.sql.Connection getConnection()
          DataSource#getConnectionを実装します。
 java.sql.Connection getConnection(java.lang.String url, java.util.Properties prop)
          指定されたurlに接続をし、JDBC Connectionを取得します。
 java.sql.Connection getConnection(java.lang.String user, java.lang.String password)
          DataSource#getConnectionを実装します。
 int getLoginTimeout()
          DataSource#getLoginTimeoutを実装します。
 java.io.PrintWriter getLogWriter()
          DataSource#getLogWriterを実装します。
 javax.naming.Reference getReference()
          このインスタンスをJNDIから参照するためのReference instranceを取得し ます。
 void setLoginTimeout(int timeout)
          DataSource#setLoginTimeoutを実装します。
 void setLogWriter(java.io.PrintWriter pw)
          DataSource#setLogWriterを実装します。
 
クラス jp.livewell.baby.pool.DefaultPool から継承したメソッド
addNewInstance, addPooledInstance, dispose, getRemovedSize, getStoredSize, getTotalSize, getWaitSize, setIdleCheckInterval, setMaxSize, setMinCheckInterval, takeout
 
クラス jp.livewell.baby.pool.AbstractPool から継承したメソッド
getComparisonKey, getFactory, getGrowPoint, getIdleCheckInterval, getMaxSize, getMinCheckInterval, getMinSize, getName, getPoolReference, getShrinkPoint, getTimeout, grow, restore, setGrowPoint, setMinSize, setShrinkPoint, setTimeout, shrink, takeout
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

CONNECT_IMPOSSIBLE

public static final int CONNECT_IMPOSSIBLE
このプールでは接続そのものが出来ない場合の値で0です。

CONNECT_ACCEPT

public static final int CONNECT_ACCEPT
このプールから接続は出来るがプーリングの対象になっていない場合の値で 1です

CONNECT_POOLING

public static final int CONNECT_POOLING
このプールでプーリングしている場合の値で2です。
コンストラクタの詳細

ConnectionPool

public ConnectionPool(ConnectionPoolInfo info)
               throws java.sql.SQLException
ConnectionPoolをプール構築の設定情報(PoolInfo)とConnectionFactoryか ら構築します。
パラメータ:
info - プール構築の設定情報
例外:
java.sql.SQLException - ConnectionPoolInfoの接続情報でデータベース接続に失敗した場合
メソッドの詳細

getConnection

public java.sql.Connection getConnection(java.lang.String url,
                                         java.util.Properties prop)
                                  throws java.sql.SQLException
指定されたurlに接続をし、JDBC Connectionを取得します。urlとpropが ConnectionFactoryの持つ接続情報と同じ場合はこのインスタンスから接続を 取得します。
パラメータ:
url - データベースのurl
prop - データベースの接続プロパティ
戻り値:
指定されたurlのJDBC Connection
例外:
java.sql.SQLException - プールがタイムアウトした場合。 データベースに接続出来なかった場合。 ConnectionFactoryが初期化されていない場合。

getConnection

public final java.sql.Connection getConnection()
                                        throws java.sql.SQLException
DataSource#getConnectionを実装します。PoolされているConnectionWrapper を取得します。Poolがtimeoutした場合にSQLExceptionをthrowします。
定義:
インタフェース javax.sql.DataSource 内の getConnection
戻り値:
プールされているConnectionWrapper
例外:
java.sql.SQLException - プールがtimeoutした場合

getConnection

public java.sql.Connection getConnection(java.lang.String user,
                                         java.lang.String password)
                                  throws java.sql.SQLException
DataSource#getConnectionを実装します。指定されたuserとpasswordで接続 を試みます。指定された値のどちらもがConnectionFactoryに指定した値と 同一の場合はConnectionPoolから接続を取得します。違う場合には、新たに JDBC Driverから接続を取得しようと試みます。
定義:
インタフェース javax.sql.DataSource 内の getConnection
パラメータ:
user - データベースのユーザ名
password - ユーザのパスワード
戻り値:
JDBC Connection。
例外:
java.sql.SQLException - プールから取り出そうとしている場合はプールがタイムアウトし た時。それ以外はデータベースアクセスエラーが発生した時

getLoginTimeout

public int getLoginTimeout()
                    throws java.sql.SQLException
DataSource#getLoginTimeoutを実装します。Poolのタイムアウトを取得しま す。
定義:
インタフェース javax.sql.DataSource 内の getLoginTimeout
戻り値:
Poolのタイムアウト
例外:
java.sql.SQLException - 実際にはthrowされません。

setLoginTimeout

public void setLoginTimeout(int timeout)
                     throws java.sql.SQLException
DataSource#setLoginTimeoutを実装します。Poolのタイムアウトを設定しま す。
定義:
インタフェース javax.sql.DataSource 内の setLoginTimeout
パラメータ:
timeout - Poolのタイムアウト
例外:
java.sql.SQLException - 不正な値(PoolInfoに設定出来ない値)を設定しようとした時

getLogWriter

public java.io.PrintWriter getLogWriter()
                                 throws java.sql.SQLException
DataSource#getLogWriterを実装します。ConnectionPoolはConnectionFactory からPrintWriterを取得します。
定義:
インタフェース javax.sql.DataSource 内の getLogWriter
戻り値:
ConnectionFactoryから取得したPrintWriter
例外:
java.sql.SQLException - 実際にはthrowされません

setLogWriter

public void setLogWriter(java.io.PrintWriter pw)
                  throws java.sql.SQLException
DataSource#setLogWriterを実装します。ConnectionFactoryのlogWriterを 指定されたLogWriterに設定します。
定義:
インタフェース javax.sql.DataSource 内の setLogWriter
パラメータ:
pw - LogWriter
例外:
java.sql.SQLException - 実際にはthrowされません

getReference

public javax.naming.Reference getReference()
このインスタンスをJNDIから参照するためのReference instranceを取得し ます。対応するObjectFactoryは jp.livewell.baby.pool.jdbc.DataSourceFactoryです。
定義:
インタフェース javax.naming.Referenceable 内の getReference
戻り値:
このインスタンスをJNDIから参照するためのReference instrance