public class PoolingConnection extends DelegatingConnection implements Connection, org.apache.commons.pool.KeyedPoolableObjectFactory
DelegatingConnection that pools PreparedStatements.
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| Modifier and Type | Field and Description |
|---|---|
protected org.apache.commons.pool.KeyedObjectPool |
_pstmtPool
Pool of
PreparedStatements. |
_closed, _connTRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE| Constructor and Description |
|---|
PoolingConnection(Connection c)
Constructor.
|
PoolingConnection(Connection c,
org.apache.commons.pool.KeyedObjectPool pool)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abort(Executor executor) |
void |
activateObject(Object key,
Object obj)
KeyedPoolableObjectFactory method for activating
pooled statements. |
void |
close()
Close and free all
PreparedStatements 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. |
int |
getNetworkTimeout() |
String |
getSchema() |
Object |
makeObject(Object obj)
KeyedPoolableObjectFactory method for creating
PoolablePreparedStatements or PoolableCallableStatements. |
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)
|
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. |
void |
setNetworkTimeout(Executor executor,
int milliseconds) |
void |
setSchema(String schema) |
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. |
activate, checkOpen, clearWarnings, commit, createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStatement, createStatement, createStatement, createStruct, equals, getAutoCommit, getCatalog, getClientInfo, getClientInfo, getDelegate, getDelegateInternal, getHoldability, getInnermostDelegate, getInnermostDelegateInternal, getMetaData, getTransactionIsolation, getTypeMap, getWarnings, handleException, hashCode, innermostDelegateEquals, isClosed, isReadOnly, isValid, isWrapperFor, nativeSQL, passivate, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, rollback, rollback, setAutoCommit, setCatalog, setClientInfo, setClientInfo, setDelegate, setHoldability, setReadOnly, setSavepoint, setSavepoint, setTransactionIsolation, setTypeMap, unwrapaddTrace, clearTrace, getConfig, getLastUsed, getTrace, printStackTrace, removeTrace, setLastUsed, setLastUsed, setStackTraceclone, finalize, getClass, notify, notifyAll, wait, wait, waitclearWarnings, commit, createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStatement, createStatement, createStatement, createStruct, getAutoCommit, getCatalog, getClientInfo, getClientInfo, getHoldability, getMetaData, getTransactionIsolation, getTypeMap, getWarnings, isClosed, isReadOnly, isValid, nativeSQL, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, rollback, rollback, setAutoCommit, setCatalog, setClientInfo, setClientInfo, setHoldability, setReadOnly, setSavepoint, setSavepoint, setTransactionIsolation, setTypeMapisWrapperFor, unwrapprotected org.apache.commons.pool.KeyedObjectPool _pstmtPool
PreparedStatements. and CallableStatementspublic PoolingConnection(Connection c)
c - the underlying Connection.public PoolingConnection(Connection c, org.apache.commons.pool.KeyedObjectPool pool)
c - the underlying Connection.pool - KeyedObjectPool of PreparedStatements and CallableStatements.public void close()
throws SQLException
PreparedStatements or CallableStatement from the pool, and
close the underlying connection.close in interface AutoCloseableclose in interface Connectionclose in class DelegatingConnectionSQLExceptionpublic PreparedStatement prepareStatement(String sql) throws SQLException
PreparedStatement from the pool.prepareStatement in interface ConnectionprepareStatement in class DelegatingConnectionsql - the sql string used to define the PreparedStatementPoolablePreparedStatementSQLExceptionpublic PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
PreparedStatement from the pool.prepareStatement in interface ConnectionprepareStatement in class DelegatingConnectionsql - the sql string used to define the PreparedStatementresultSetType - result set typeresultSetConcurrency - result set concurrencyPoolablePreparedStatementSQLExceptionpublic CallableStatement prepareCall(String sql) throws SQLException
CallableStatement from the pool.prepareCall in interface ConnectionprepareCall in class DelegatingConnectionsql - the sql string used to define the CallableStatementPoolableCallableStatementSQLExceptionpublic CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
CallableStatement from the pool.prepareCall in interface ConnectionprepareCall in class DelegatingConnectionsql - the sql string used to define the CallableStatementresultSetType - result set typeresultSetConcurrency - result set concurrencyPoolableCallableStatementSQLExceptionprotected 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_PREPAREDSTMTprotected 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_PREPAREDSTMTprotected String normalizeSQL(String sql)
public Object makeObject(Object obj) throws Exception
KeyedPoolableObjectFactory method for creating
PoolablePreparedStatements or PoolableCallableStatements.
The stmtType field in the key determines whether
a PoolablePreparedStatement or PoolableCallableStatement is created.makeObject in interface org.apache.commons.pool.KeyedPoolableObjectFactoryobj - the key for the PreparedStatement to be createdExceptioncreateKey(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 org.apache.commons.pool.KeyedPoolableObjectFactorykey - ignoredobj - the pooled statement to be destroyed.Exceptionpublic boolean validateObject(Object key, Object obj)
KeyedPoolableObjectFactory method for validating
pooled statements. Currently always returns true.validateObject in interface org.apache.commons.pool.KeyedPoolableObjectFactorykey - ignoredobj - ignoredpublic void activateObject(Object key, Object obj) throws Exception
KeyedPoolableObjectFactory method for activating
pooled statements.activateObject in interface org.apache.commons.pool.KeyedPoolableObjectFactorykey - ignoredobj - pooled statement to be activatedExceptionpublic void passivateObject(Object key, Object obj) throws Exception
KeyedPoolableObjectFactory method for passivating
PreparedStatements or CallableStatements.
Invokes PreparedStatement.clearParameters().passivateObject in interface org.apache.commons.pool.KeyedPoolableObjectFactorykey - ignoredobj - a PreparedStatementExceptionpublic String toString()
DelegatingConnectiontoString in class DelegatingConnectionpublic int getNetworkTimeout()
throws SQLException
getNetworkTimeout in interface ConnectiongetNetworkTimeout in class DelegatingConnectionSQLExceptionpublic void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
setNetworkTimeout in interface ConnectionsetNetworkTimeout in class DelegatingConnectionSQLExceptionpublic void abort(Executor executor) throws SQLException
abort in interface Connectionabort in class DelegatingConnectionSQLExceptionpublic String getSchema() throws SQLException
getSchema in interface ConnectiongetSchema in class DelegatingConnectionSQLExceptionpublic void setSchema(String schema) throws SQLException
setSchema in interface ConnectionsetSchema in class DelegatingConnectionSQLExceptionCopyright © 2001-2015 The Apache Software Foundation. All Rights Reserved.