public class ManagedConnection extends DelegatingConnection
Modifier and Type | Class and Description |
---|---|
protected class |
ManagedConnection.CompletionListener
Delegates to
transactionComplete()
for transaction completion events. |
Modifier and Type | Field and Description |
---|---|
private boolean |
accessToUnderlyingConnectionAllowed |
private boolean |
isSharedConnection |
private org.apache.commons.pool.ObjectPool |
pool |
private TransactionContext |
transactionContext |
private TransactionRegistry |
transactionRegistry |
_closed, _conn
Constructor and Description |
---|
ManagedConnection(org.apache.commons.pool.ObjectPool pool,
TransactionRegistry transactionRegistry,
boolean accessToUnderlyingConnectionAllowed) |
Modifier and Type | Method and Description |
---|---|
protected void |
checkOpen() |
void |
close()
Closes the underlying connection, and close
any Statements that were not explicitly closed.
|
void |
commit() |
java.sql.Connection |
getDelegate()
Returns my underlying
Connection . |
java.sql.Connection |
getInnermostDelegate()
If my underlying
Connection is not a
DelegatingConnection, returns it,
otherwise recursively invokes this method on
my delegate. |
boolean |
isAccessToUnderlyingConnectionAllowed()
If false, getDelegate() and getInnermostDelegate() will return null.
|
void |
rollback() |
void |
setAutoCommit(boolean autoCommit) |
void |
setReadOnly(boolean readOnly) |
protected void |
transactionComplete() |
private void |
updateTransactionStatus() |
abort, activate, clearWarnings, createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStatement, createStatement, createStatement, createStruct, equals, getAutoCommit, getCatalog, getClientInfo, getClientInfo, getDelegateInternal, getHoldability, getInnermostDelegateInternal, getMetaData, getNetworkTimeout, getSchema, getTransactionIsolation, getTypeMap, getWarnings, handleException, hashCode, innermostDelegateEquals, isClosed, isReadOnly, isValid, isWrapperFor, nativeSQL, passivate, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, rollback, setCatalog, setClientInfo, setClientInfo, setDelegate, setHoldability, setNetworkTimeout, setSavepoint, setSavepoint, setSchema, setTransactionIsolation, setTypeMap, toString, unwrap
addTrace, clearTrace, getConfig, getLastUsed, getTrace, printStackTrace, removeTrace, setLastUsed, setLastUsed, setStackTrace
private final org.apache.commons.pool.ObjectPool pool
private final TransactionRegistry transactionRegistry
private final boolean accessToUnderlyingConnectionAllowed
private TransactionContext transactionContext
private boolean isSharedConnection
public ManagedConnection(org.apache.commons.pool.ObjectPool pool, TransactionRegistry transactionRegistry, boolean accessToUnderlyingConnectionAllowed) throws java.sql.SQLException
java.sql.SQLException
protected void checkOpen() throws java.sql.SQLException
checkOpen
in class DelegatingConnection
java.sql.SQLException
private void updateTransactionStatus() throws java.sql.SQLException
java.sql.SQLException
public void close() throws java.sql.SQLException
DelegatingConnection
close
in interface java.lang.AutoCloseable
close
in interface java.sql.Connection
close
in class DelegatingConnection
java.sql.SQLException
protected void transactionComplete()
public void setAutoCommit(boolean autoCommit) throws java.sql.SQLException
setAutoCommit
in interface java.sql.Connection
setAutoCommit
in class DelegatingConnection
java.sql.SQLException
public void commit() throws java.sql.SQLException
commit
in interface java.sql.Connection
commit
in class DelegatingConnection
java.sql.SQLException
public void rollback() throws java.sql.SQLException
rollback
in interface java.sql.Connection
rollback
in class DelegatingConnection
java.sql.SQLException
public void setReadOnly(boolean readOnly) throws java.sql.SQLException
setReadOnly
in interface java.sql.Connection
setReadOnly
in class DelegatingConnection
java.sql.SQLException
public boolean isAccessToUnderlyingConnectionAllowed()
public java.sql.Connection getDelegate()
DelegatingConnection
Connection
.getDelegate
in class DelegatingConnection
Connection
.public java.sql.Connection getInnermostDelegate()
DelegatingConnection
Connection
is not a
DelegatingConnection, returns it,
otherwise recursively invokes this method on
my delegate.
Hence this method will return the first delegate that is not a DelegatingConnection, or null when no non-DelegatingConnection delegate 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
.
getInnermostDelegate
in class DelegatingConnection