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 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 underlyingConnectionis not aDelegatingConnection, returns it, otherwise recursively invokes this method on my delegate.Methods inherited from class 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, unwrapMethods inherited from class AbandonedTrace
addTrace, clearTrace, getLastUsed, getTrace, removeThisTrace, removeTrace, setLastUsed, setLastUsedMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface 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:DelegatingConnectionReturns my underlyingConnection.- Overrides:
getDelegatein classDelegatingConnection<Connection>- Returns:
- my underlying
Connection. - See Also:
-
getInnermostDelegate
Description copied from class:DelegatingConnectionIf my underlyingConnectionis 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, ornullwhen no non-DelegatingConnectiondelegate can be found by traversing this chain.This method is useful when you may have nested
DelegatingConnections, and you want to make sure to obtain a "genuine"Connection.- Overrides:
getInnermostDelegatein classDelegatingConnection<Connection>- Returns:
- innermost delegate.
- See Also:
-