|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.dbcp.AbandonedTrace org.apache.commons.dbcp.DelegatingConnection org.apache.commons.dbcp.PoolingConnection
public class PoolingConnection
A DelegatingConnection
that pools PreparedStatement
s.
The prepareStatement(java.lang.String)
and prepareCall(java.lang.String)
methods, rather than creating a new PreparedStatement
each time, may actually pull the statement from a pool of unused statements.
The Statement.close()
method of the returned statement doesn't
actually close the statement, but rather returns it to the pool.
(See PoolablePreparedStatement
, PoolableCallableStatement
.)
PoolablePreparedStatement
Field Summary | |
---|---|
protected KeyedObjectPool |
_pstmtPool
Pool of PreparedStatement s. |
Fields inherited from class org.apache.commons.dbcp.DelegatingConnection |
---|
_closed, _conn |
Fields inherited from interface java.sql.Connection |
---|
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE |
Constructor Summary | |
---|---|
PoolingConnection(Connection c)
Constructor. |
|
PoolingConnection(Connection c,
KeyedObjectPool pool)
Constructor. |
Method Summary | |
---|---|
void |
activateObject(Object key,
Object obj)
KeyedPoolableObjectFactory method for activating
pooled statements. |
void |
close()
Close and free all PreparedStatement s or CallableStatement from the pool, and
close the underlying connection. |
protected Object |
createKey(String sql)
Create a PStmtKey for the given arguments. |
protected Object |
createKey(String sql,
byte stmtType)
Create a PStmtKey for the given arguments. |
protected Object |
createKey(String sql,
int resultSetType,
int resultSetConcurrency)
Create a PStmtKey for the given arguments. |
protected Object |
createKey(String sql,
int resultSetType,
int resultSetConcurrency,
byte stmtType)
Create a PStmtKey for the given arguments. |
void |
destroyObject(Object key,
Object obj)
KeyedPoolableObjectFactory method for destroying
PoolablePreparedStatements and PoolableCallableStatements. |
Object |
makeObject(Object obj)
KeyedPoolableObjectFactory method for creating
PoolablePreparedStatement s or PoolableCallableStatement s. |
protected String |
normalizeSQL(String sql)
Normalize the given SQL statement, producing a cannonical form that is semantically equivalent to the original. |
void |
passivateObject(Object key,
Object obj)
KeyedPoolableObjectFactory method for passivating
PreparedStatement s or CallableStatement s. |
CallableStatement |
prepareCall(String sql)
Create or obtain a CallableStatement from the pool. |
CallableStatement |
prepareCall(String sql,
int resultSetType,
int resultSetConcurrency)
Create or obtain a CallableStatement from the pool. |
PreparedStatement |
prepareStatement(String sql)
Create or obtain a PreparedStatement from the pool. |
PreparedStatement |
prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency)
Create or obtain a PreparedStatement from the pool. |
String |
toString()
Returns a string representation of the metadata associated with the innnermost delegate connection. |
boolean |
validateObject(Object key,
Object obj)
KeyedPoolableObjectFactory method for validating
pooled statements. |
Methods inherited from class org.apache.commons.dbcp.AbandonedTrace |
---|
addTrace, clearTrace, getConfig, getLastUsed, getTrace, printStackTrace, removeTrace, setLastUsed, setLastUsed, setStackTrace |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.sql.Wrapper |
---|
isWrapperFor, unwrap |
Field Detail |
---|
protected KeyedObjectPool _pstmtPool
PreparedStatement
s. and CallableStatement
s
Constructor Detail |
---|
public PoolingConnection(Connection c)
c
- the underlying Connection
.public PoolingConnection(Connection c, KeyedObjectPool pool)
c
- the underlying Connection
.pool
- KeyedObjectPool
of PreparedStatement
s and CallableStatement
s.Method Detail |
---|
public void close() throws SQLException
PreparedStatement
s or CallableStatement
from the pool, and
close the underlying connection.
close
in interface Connection
close
in class DelegatingConnection
SQLException
public PreparedStatement prepareStatement(String sql) throws SQLException
PreparedStatement
from the pool.
prepareStatement
in interface Connection
prepareStatement
in class DelegatingConnection
sql
- the sql string used to define the PreparedStatement
PoolablePreparedStatement
SQLException
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
PreparedStatement
from the pool.
prepareStatement
in interface Connection
prepareStatement
in class DelegatingConnection
sql
- the sql string used to define the PreparedStatementresultSetType
- result set typeresultSetConcurrency
- result set concurrency
PoolablePreparedStatement
SQLException
public CallableStatement prepareCall(String sql) throws SQLException
CallableStatement
from the pool.
prepareCall
in interface Connection
prepareCall
in class DelegatingConnection
sql
- the sql string used to define the CallableStatement
PoolableCallableStatement
SQLException
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
CallableStatement
from the pool.
prepareCall
in interface Connection
prepareCall
in class DelegatingConnection
sql
- the sql string used to define the CallableStatementresultSetType
- result set typeresultSetConcurrency
- result set concurrency
PoolableCallableStatement
SQLException
protected Object createKey(String sql, int resultSetType, int resultSetConcurrency)
sql
- the sql string used to define the statementresultSetType
- result set typeresultSetConcurrency
- result set concurrencyprotected Object createKey(String sql, int resultSetType, int resultSetConcurrency, byte stmtType)
sql
- the sql string used to define the statementresultSetType
- result set typeresultSetConcurrency
- result set concurrencystmtType
- statement type - either STATEMENT_CALLABLESTMT
or STATEMENT_PREPAREDSTMT
protected Object createKey(String sql)
sql
- the sql string used to define the statementprotected Object createKey(String sql, byte stmtType)
sql
- the sql string used to define the statementstmtType
- statement type - either STATEMENT_CALLABLESTMT
or STATEMENT_PREPAREDSTMT
protected String normalizeSQL(String sql)
public Object makeObject(Object obj) throws Exception
KeyedPoolableObjectFactory
method for creating
PoolablePreparedStatement
s or PoolableCallableStatement
s.
The stmtType
field in the key determines whether
a PoolablePreparedStatement or PoolableCallableStatement is created.
makeObject
in interface KeyedPoolableObjectFactory
obj
- the key for the PreparedStatement
to be created
Exception
createKey(String, int, int, byte)
public void destroyObject(Object key, Object obj) throws Exception
KeyedPoolableObjectFactory
method for destroying
PoolablePreparedStatements and PoolableCallableStatements.
Closes the underlying statement.
destroyObject
in interface KeyedPoolableObjectFactory
key
- ignoredobj
- the pooled statement to be destroyed.
Exception
public boolean validateObject(Object key, Object obj)
KeyedPoolableObjectFactory
method for validating
pooled statements. Currently always returns true.
validateObject
in interface KeyedPoolableObjectFactory
key
- ignoredobj
- ignored
public void activateObject(Object key, Object obj) throws Exception
KeyedPoolableObjectFactory
method for activating
pooled statements.
activateObject
in interface KeyedPoolableObjectFactory
key
- ignoredobj
- pooled statement to be activated
Exception
public void passivateObject(Object key, Object obj) throws Exception
KeyedPoolableObjectFactory
method for passivating
PreparedStatement
s or CallableStatement
s.
Invokes PreparedStatement.clearParameters()
.
passivateObject
in interface KeyedPoolableObjectFactory
key
- ignoredobj
- a PreparedStatement
Exception
public String toString()
DelegatingConnection
toString
in class DelegatingConnection
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |