Class AbstractNewProxyConnection
- All Implemented Interfaces:
C3P0ProxyConnection, AutoCloseable, Connection, Wrapper
- Direct Known Subclasses:
NewProxyConnectionJdbc43Full, NewProxyConnectionNoShardingKey
-
Field Summary
FieldsFields inherited from interface C3P0ProxyConnection
RAW_CONNECTIONFields inherited from interface Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE -
Method Summary
Modifier and TypeMethodDescriptionfinal voidfinal voidfinal voidfinal voidclose()final voidcommit()final ArraycreateArrayOf(String a, Object[] b) final Blobfinal Clobfinal NClobfinal SQLXMLfinal Statementfinal StatementcreateStatement(int a, int b) final StatementcreateStatement(int a, int b, int c) final StructcreateStruct(String a, Object[] b) final voidfinal booleanfinal Stringfinal Propertiesfinal Stringfinal intfinal DatabaseMetaDatafinal intfinal Stringfinal intfinal Mapfinal SQLWarningfinal booleanisClosed()final booleanfinal booleanisValid(int a) final booleanfinal Stringfinal CallableStatementfinal CallableStatementprepareCall(String a, int b, int c) final CallableStatementprepareCall(String a, int b, int c, int d) final PreparedStatementfinal PreparedStatementprepareStatement(String a, int b) final PreparedStatementprepareStatement(String a, int[] b) final PreparedStatementprepareStatement(String a, int b, int c) final PreparedStatementprepareStatement(String a, int b, int c, int d) final PreparedStatementprepareStatement(String a, String[] b) rawConnectionOperation(Method m, Object target, Object[] args) Allows one to work with the unproxied, raw Connection.final voidfinal voidrollback()final voidfinal voidsetAutoCommit(boolean a) final voidsetCatalog(String a) final voidsetClientInfo(String a, String b) final voidfinal voidsetHoldability(int a) final voidsetNetworkTimeout(Executor a, int b) final voidsetReadOnly(boolean a) final Savepointfinal Savepointfinal voidfinal voidsetTransactionIsolation(int a) final voidsetTypeMap(Map a) toString()final ObjectMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Connection
setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
Field Details
-
inner
-
-
Method Details
-
abort
- Specified by:
abortin interfaceConnection- Throws:
SQLException
-
setReadOnly
- Specified by:
setReadOnlyin interfaceConnection- Throws:
SQLException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceConnection- Throws:
SQLException
-
isReadOnly
- Specified by:
isReadOnlyin interfaceConnection- Throws:
SQLException
-
createStatement
- Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
createStatement
- Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
createStatement
- Specified by:
createStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareStatement
- Specified by:
prepareStatementin interfaceConnection- Throws:
SQLException
-
prepareCall
- Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
prepareCall
- Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
prepareCall
- Specified by:
prepareCallin interfaceConnection- Throws:
SQLException
-
getMetaData
- Specified by:
getMetaDatain interfaceConnection- Throws:
SQLException
-
setTransactionIsolation
- Specified by:
setTransactionIsolationin interfaceConnection- Throws:
SQLException
-
setHoldability
- Specified by:
setHoldabilityin interfaceConnection- Throws:
SQLException
-
getWarnings
- Specified by:
getWarningsin interfaceConnection- Throws:
SQLException
-
clearWarnings
- Specified by:
clearWarningsin interfaceConnection- Throws:
SQLException
-
setAutoCommit
- Specified by:
setAutoCommitin interfaceConnection- Throws:
SQLException
-
setClientInfo
- Specified by:
setClientInfoin interfaceConnection- Throws:
SQLClientInfoException
-
setClientInfo
- Specified by:
setClientInfoin interfaceConnection- Throws:
SQLClientInfoException
-
getAutoCommit
- Specified by:
getAutoCommitin interfaceConnection- Throws:
SQLException
-
getTransactionIsolation
- Specified by:
getTransactionIsolationin interfaceConnection- Throws:
SQLException
-
getHoldability
- Specified by:
getHoldabilityin interfaceConnection- Throws:
SQLException
-
setSavepoint
- Specified by:
setSavepointin interfaceConnection- Throws:
SQLException
-
setSavepoint
- Specified by:
setSavepointin interfaceConnection- Throws:
SQLException
-
releaseSavepoint
- Specified by:
releaseSavepointin interfaceConnection- Throws:
SQLException
-
createNClob
- Specified by:
createNClobin interfaceConnection- Throws:
SQLException
-
createSQLXML
- Specified by:
createSQLXMLin interfaceConnection- Throws:
SQLException
-
getClientInfo
- Specified by:
getClientInfoin interfaceConnection- Throws:
SQLException
-
getClientInfo
- Specified by:
getClientInfoin interfaceConnection- Throws:
SQLException
-
createArrayOf
- Specified by:
createArrayOfin interfaceConnection- Throws:
SQLException
-
createStruct
- Specified by:
createStructin interfaceConnection- Throws:
SQLException
-
setNetworkTimeout
- Specified by:
setNetworkTimeoutin interfaceConnection- Throws:
SQLException
-
getNetworkTimeout
- Specified by:
getNetworkTimeoutin interfaceConnection- Throws:
SQLException
-
beginRequest
- Specified by:
beginRequestin interfaceConnection- Throws:
SQLException
-
setCatalog
- Specified by:
setCatalogin interfaceConnection- Throws:
SQLException
-
setTypeMap
- Specified by:
setTypeMapin interfaceConnection- Throws:
SQLException
-
isClosed
- Specified by:
isClosedin interfaceConnection- Throws:
SQLException
-
isValid
- Specified by:
isValidin interfaceConnection- Throws:
SQLException
-
commit
- Specified by:
commitin interfaceConnection- Throws:
SQLException
-
rollback
- Specified by:
rollbackin interfaceConnection- Throws:
SQLException
-
rollback
- Specified by:
rollbackin interfaceConnection- Throws:
SQLException
-
getCatalog
- Specified by:
getCatalogin interfaceConnection- Throws:
SQLException
-
nativeSQL
- Specified by:
nativeSQLin interfaceConnection- Throws:
SQLException
-
getTypeMap
- Specified by:
getTypeMapin interfaceConnection- Throws:
SQLException
-
createClob
- Specified by:
createClobin interfaceConnection- Throws:
SQLException
-
createBlob
- Specified by:
createBlobin interfaceConnection- Throws:
SQLException
-
setSchema
- Specified by:
setSchemain interfaceConnection- Throws:
SQLException
-
getSchema
- Specified by:
getSchemain interfaceConnection- Throws:
SQLException
-
endRequest
- Specified by:
endRequestin interfaceConnection- Throws:
SQLException
-
unwrap
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-
isWrapperFor
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
rawConnectionOperation
public Object rawConnectionOperation(Method m, Object target, Object[] args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, SQLException Description copied from interface:C3P0ProxyConnectionAllows one to work with the unproxied, raw Connection. Some database companies never got over the "common interfaces mean no more vendor lock-in!" thing, and offer non-standard API on their Connections. This method permits you to "pierce" the connection-pooling layer to call non-standard methods on the original Connection, or to pass the original Connections to functions that are not implementation neutral.
To use this functionality, you'll need to cast a Connection retrieved from a c3p0 PooledDataSource to a C3P0ProxyConnection.
This method works by making a reflective call of method
mon Objecttarget(which may be null for static methods), passing and argument listargs. For the method target, or for any argument, you may substitute the special tokenC3P0ProxyConnection.RAW_CONNECTIONAny Statements or ResultSets returned by the operation will be proxied and c3p0-managed, meaning that these resources will be automatically closed if the user does not close them first when this Connection is checked back into the pool. Any other resources returned by the operation are the user's responsibility to clean up!
Incautious use of this method can corrupt the Connection pool, by breaking the invariant that all checked-in Connections should be equivalent. If your vendor supplies API that allows you to modify the state or configuration of a Connection in some nonstandard way, you might use this method to do so, and then check the Connection back into the pool. When you fetch another Connection from the PooledDataSource, it will be undefined whether the Connection returned will have your altered configuration, or the default configuration of a "fresh" Connection. Thus, it is inadvisable to use this method to call nonstandard mutators.
- Specified by:
rawConnectionOperationin interfaceC3P0ProxyConnection- Throws:
IllegalAccessExceptionIllegalArgumentExceptionInvocationTargetExceptionSQLException
-
toString
-