|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ibatis.common.jdbc.SimpleDataSource
This is a simple, synchronous, thread-safe database connection pool.
REQUIRED PROPERTIES ------------------- JDBC.Driver JDBC.ConnectionURL JDBC.Username JDBC.Password Pool.MaximumActiveConnections Pool.MaximumIdleConnections Pool.MaximumCheckoutTime Pool.TimeToWait Pool.PingQuery Pool.PingEnabled Pool.PingConnectionsOlderThan Pool.PingConnectionsNotUsedFor Pool.QuietMode
Nested Class Summary | |
private static class |
SimpleDataSource.SimplePooledConnection
--------------------------------------------------------------------------------------- SimplePooledConnection --------------------------------------------------------------------------------------- |
Field Summary | |
private long |
accumulatedCheckoutTime
|
private long |
accumulatedCheckoutTimeOfOverdueConnections
|
private long |
accumulatedRequestTime
|
private long |
accumulatedWaitTime
|
private java.util.List |
activeConnections
|
private static java.lang.String |
ADD_DRIVER_PROPS_PREFIX
|
private static int |
ADD_DRIVER_PROPS_PREFIX_LENGTH
|
private long |
badConnectionCount
|
private long |
claimedOverdueConnectionCount
|
private java.util.Properties |
driverProps
|
private int |
expectedConnectionTypeCode
|
private long |
hadToWaitCount
|
private java.util.List |
idleConnections
|
private boolean |
jdbcDefaultAutoCommit
|
private java.lang.String |
jdbcDriver
|
private java.lang.String |
jdbcPassword
|
private java.lang.String |
jdbcUrl
|
private java.lang.String |
jdbcUsername
|
private static org.apache.commons.logging.Log |
log
|
private static java.lang.Object |
POOL_LOCK
|
private int |
poolMaximumActiveConnections
|
private int |
poolMaximumCheckoutTime
|
private int |
poolMaximumIdleConnections
|
private int |
poolPingConnectionsNotUsedFor
|
private int |
poolPingConnectionsOlderThan
|
private boolean |
poolPingEnabled
|
private java.lang.String |
poolPingQuery
|
private int |
poolTimeToWait
|
private static java.lang.String |
PROP_JDBC_DEFAULT_AUTOCOMMIT
|
private static java.lang.String |
PROP_JDBC_DRIVER
|
private static java.lang.String |
PROP_JDBC_PASSWORD
|
private static java.lang.String |
PROP_JDBC_URL
|
private static java.lang.String |
PROP_JDBC_USERNAME
|
private static java.lang.String |
PROP_POOL_MAX_ACTIVE_CONN
|
private static java.lang.String |
PROP_POOL_MAX_CHECKOUT_TIME
|
private static java.lang.String |
PROP_POOL_MAX_IDLE_CONN
|
private static java.lang.String |
PROP_POOL_PING_CONN_NOT_USED_FOR
|
private static java.lang.String |
PROP_POOL_PING_CONN_OLDER_THAN
|
private static java.lang.String |
PROP_POOL_PING_ENABLED
|
private static java.lang.String |
PROP_POOL_PING_QUERY
|
private static java.lang.String |
PROP_POOL_TIME_TO_WAIT
|
private long |
requestCount
|
private boolean |
useDriverProps
|
Constructor Summary | |
SimpleDataSource(java.util.Map props)
Constructor to allow passing in a map of properties for configuration |
Method Summary | |
private int |
assembleConnectionTypeCode(java.lang.String url,
java.lang.String username,
java.lang.String password)
|
protected void |
finalize()
|
void |
forceCloseAll()
|
long |
getAverageCheckoutTime()
|
long |
getAverageOverdueCheckoutTime()
|
long |
getAverageRequestTime()
|
long |
getAverageWaitTime()
|
long |
getBadConnectionCount()
|
long |
getClaimedOverdueConnectionCount()
|
java.sql.Connection |
getConnection()
|
java.sql.Connection |
getConnection(java.lang.String username,
java.lang.String password)
|
private int |
getExpectedConnectionTypeCode()
|
long |
getHadToWaitCount()
|
java.lang.String |
getJdbcDriver()
|
java.lang.String |
getJdbcPassword()
|
java.lang.String |
getJdbcUrl()
|
java.lang.String |
getJdbcUsername()
|
int |
getLoginTimeout()
|
java.io.PrintWriter |
getLogWriter()
|
int |
getPoolMaximumActiveConnections()
|
int |
getPoolMaximumCheckoutTime()
|
int |
getPoolMaximumIdleConnections()
|
int |
getPoolPingConnectionsNotUsedFor()
No idea what this is used for... |
int |
getPoolPingConnectionsOlderThan()
|
java.lang.String |
getPoolPingQuery()
|
int |
getPoolTimeToWait()
|
long |
getRequestCount()
|
java.lang.String |
getStatus()
|
private void |
initialize(java.util.Map props)
|
boolean |
isPoolPingEnabled()
|
private boolean |
pingConnection(SimpleDataSource.SimplePooledConnection conn)
Method to check to see if a connection is still usable |
private SimpleDataSource.SimplePooledConnection |
popConnection(java.lang.String username,
java.lang.String password)
|
private void |
pushConnection(SimpleDataSource.SimplePooledConnection conn)
|
void |
setLoginTimeout(int loginTimeout)
|
void |
setLogWriter(java.io.PrintWriter logWriter)
|
static java.sql.Connection |
unwrapConnection(java.sql.Connection conn)
Unwraps a pooled connection to get to the 'real' connection |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final org.apache.commons.logging.Log log
private static final java.lang.String PROP_JDBC_DRIVER
private static final java.lang.String PROP_JDBC_URL
private static final java.lang.String PROP_JDBC_USERNAME
private static final java.lang.String PROP_JDBC_PASSWORD
private static final java.lang.String PROP_JDBC_DEFAULT_AUTOCOMMIT
private static final java.lang.String PROP_POOL_MAX_ACTIVE_CONN
private static final java.lang.String PROP_POOL_MAX_IDLE_CONN
private static final java.lang.String PROP_POOL_MAX_CHECKOUT_TIME
private static final java.lang.String PROP_POOL_TIME_TO_WAIT
private static final java.lang.String PROP_POOL_PING_QUERY
private static final java.lang.String PROP_POOL_PING_CONN_OLDER_THAN
private static final java.lang.String PROP_POOL_PING_ENABLED
private static final java.lang.String PROP_POOL_PING_CONN_NOT_USED_FOR
private int expectedConnectionTypeCode
private static final java.lang.String ADD_DRIVER_PROPS_PREFIX
private static final int ADD_DRIVER_PROPS_PREFIX_LENGTH
private static final java.lang.Object POOL_LOCK
private java.util.List idleConnections
private java.util.List activeConnections
private long requestCount
private long accumulatedRequestTime
private long accumulatedCheckoutTime
private long claimedOverdueConnectionCount
private long accumulatedCheckoutTimeOfOverdueConnections
private long accumulatedWaitTime
private long hadToWaitCount
private long badConnectionCount
private java.lang.String jdbcDriver
private java.lang.String jdbcUrl
private java.lang.String jdbcUsername
private java.lang.String jdbcPassword
private boolean jdbcDefaultAutoCommit
private java.util.Properties driverProps
private boolean useDriverProps
private int poolMaximumActiveConnections
private int poolMaximumIdleConnections
private int poolMaximumCheckoutTime
private int poolTimeToWait
private java.lang.String poolPingQuery
private boolean poolPingEnabled
private int poolPingConnectionsOlderThan
private int poolPingConnectionsNotUsedFor
Constructor Detail |
public SimpleDataSource(java.util.Map props)
props
- - the configuration parametersMethod Detail |
private void initialize(java.util.Map props)
private int assembleConnectionTypeCode(java.lang.String url, java.lang.String username, java.lang.String password)
public java.sql.Connection getConnection() throws java.sql.SQLException
getConnection
in interface javax.sql.DataSource
java.sql.SQLException
DataSource.getConnection()
public java.sql.Connection getConnection(java.lang.String username, java.lang.String password) throws java.sql.SQLException
getConnection
in interface javax.sql.DataSource
java.sql.SQLException
DataSource.getConnection(java.lang.String, java.lang.String)
public void setLoginTimeout(int loginTimeout) throws java.sql.SQLException
setLoginTimeout
in interface javax.sql.DataSource
java.sql.SQLException
DataSource.setLoginTimeout(int)
public int getLoginTimeout() throws java.sql.SQLException
getLoginTimeout
in interface javax.sql.DataSource
java.sql.SQLException
DataSource.getLoginTimeout()
public void setLogWriter(java.io.PrintWriter logWriter) throws java.sql.SQLException
setLogWriter
in interface javax.sql.DataSource
java.sql.SQLException
DataSource.setLogWriter(java.io.PrintWriter)
public java.io.PrintWriter getLogWriter() throws java.sql.SQLException
getLogWriter
in interface javax.sql.DataSource
java.sql.SQLException
DataSource.getLogWriter()
public int getPoolPingConnectionsNotUsedFor()
public java.lang.String getJdbcDriver()
public java.lang.String getJdbcUrl()
public java.lang.String getJdbcUsername()
public java.lang.String getJdbcPassword()
public int getPoolMaximumActiveConnections()
public int getPoolMaximumIdleConnections()
public int getPoolMaximumCheckoutTime()
public int getPoolTimeToWait()
public java.lang.String getPoolPingQuery()
public boolean isPoolPingEnabled()
public int getPoolPingConnectionsOlderThan()
private int getExpectedConnectionTypeCode()
public long getRequestCount()
public long getAverageRequestTime()
public long getAverageWaitTime()
public long getHadToWaitCount()
public long getBadConnectionCount()
public long getClaimedOverdueConnectionCount()
public long getAverageOverdueCheckoutTime()
public long getAverageCheckoutTime()
public java.lang.String getStatus()
public void forceCloseAll()
private void pushConnection(SimpleDataSource.SimplePooledConnection conn) throws java.sql.SQLException
java.sql.SQLException
private SimpleDataSource.SimplePooledConnection popConnection(java.lang.String username, java.lang.String password) throws java.sql.SQLException
java.sql.SQLException
private boolean pingConnection(SimpleDataSource.SimplePooledConnection conn)
conn
- - the connection to check
public static java.sql.Connection unwrapConnection(java.sql.Connection conn)
conn
- - the pooled connection to unwrap
protected void finalize() throws java.lang.Throwable
java.lang.Throwable
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |