Class PoolingDriver.PoolGuardConnectionWrapper
java.lang.Object
org.datanucleus.store.rdbms.datasource.dbcp2.AbandonedTrace
org.datanucleus.store.rdbms.datasource.dbcp2.DelegatingConnection<Connection>
org.datanucleus.store.rdbms.datasource.dbcp2.PoolingDriver.PoolGuardConnectionWrapper
- All Implemented Interfaces:
AutoCloseable
,Connection
,Wrapper
,TrackedUse
- Enclosing class:
PoolingDriver
PoolGuardConnectionWrapper is a Connection wrapper that makes sure a closed connection cannot be used anymore.
- Since:
- 2.0
-
Field Summary
FieldsFields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
-
Constructor Summary
ConstructorsConstructorDescriptionPoolGuardConnectionWrapper
(ObjectPool<? extends Connection> pool, Connection delegate) -
Method Summary
Modifier and TypeMethodDescriptionReturns my underlyingConnection
.If my underlyingConnection
is not aDelegatingConnection
, returns it, otherwise recursively invokes this method on my delegate.Methods inherited from class org.datanucleus.store.rdbms.datasource.dbcp2.DelegatingConnection
abort, activate, checkOpen, clearCachedState, clearWarnings, close, closeInternal, commit, createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStatement, createStatement, createStatement, createStruct, getAutoCommit, getCacheState, getCatalog, getClientInfo, getClientInfo, getDefaultQueryTimeout, getDelegateInternal, getHoldability, getInnermostDelegateInternal, getMetaData, getNetworkTimeout, getSchema, getTransactionIsolation, getTypeMap, getWarnings, handleException, handleExceptionNoThrow, innermostDelegateEquals, isClosed, isClosedInternal, isReadOnly, isValid, isWrapperFor, nativeSQL, passivate, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, rollback, rollback, setAutoCommit, setCacheState, setCatalog, setClientInfo, setClientInfo, setClosedInternal, setDefaultQueryTimeout, setDelegate, setHoldability, setNetworkTimeout, setReadOnly, setSavepoint, setSavepoint, setSchema, setTransactionIsolation, setTypeMap, toString, unwrap
Methods inherited from class org.datanucleus.store.rdbms.datasource.dbcp2.AbandonedTrace
addTrace, clearTrace, getLastUsed, getTrace, removeThisTrace, removeTrace, setLastUsed, setLastUsed
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.sql.Connection
beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
Field Details
-
pool
-
-
Constructor Details
-
PoolGuardConnectionWrapper
PoolGuardConnectionWrapper(ObjectPool<? extends Connection> pool, Connection delegate)
-
-
Method Details
-
getDelegate
Description copied from class:DelegatingConnection
Returns my underlyingConnection
.- Overrides:
getDelegate
in classDelegatingConnection<Connection>
- Returns:
- my underlying
Connection
. - See Also:
-
getInnermostDelegate
Description copied from class:DelegatingConnection
If my underlyingConnection
is not aDelegatingConnection
, returns it, otherwise recursively invokes this method on my delegate.Hence this method will return the first delegate that is not a
DelegatingConnection
, ornull
when no non-DelegatingConnection
delegate can be found by traversing this chain.This method is useful when you may have nested
DelegatingConnection
s, and you want to make sure to obtain a "genuine"Connection
.- Overrides:
getInnermostDelegate
in classDelegatingConnection<Connection>
- Returns:
- innermost delegate.
- See Also:
-