public final class NewProxyConnection extends java.lang.Object implements java.sql.Connection, C3P0ProxyConnection
Modifier and Type | Field and Description |
---|---|
protected java.sql.Connection |
inner |
RAW_CONNECTION
Modifier and Type | Method and Description |
---|---|
void |
abort(java.util.concurrent.Executor a) |
void |
clearWarnings() |
void |
close() |
void |
commit() |
java.sql.Array |
createArrayOf(java.lang.String a,
java.lang.Object[] b) |
java.sql.Blob |
createBlob() |
java.sql.Clob |
createClob() |
java.sql.NClob |
createNClob() |
java.sql.SQLXML |
createSQLXML() |
java.sql.Statement |
createStatement() |
java.sql.Statement |
createStatement(int a,
int b) |
java.sql.Statement |
createStatement(int a,
int b,
int c) |
java.sql.Struct |
createStruct(java.lang.String a,
java.lang.Object[] b) |
boolean |
getAutoCommit() |
java.lang.String |
getCatalog() |
java.util.Properties |
getClientInfo() |
java.lang.String |
getClientInfo(java.lang.String a) |
int |
getHoldability() |
java.sql.DatabaseMetaData |
getMetaData() |
int |
getNetworkTimeout() |
java.lang.String |
getSchema() |
int |
getTransactionIsolation() |
java.util.Map |
getTypeMap() |
java.sql.SQLWarning |
getWarnings() |
boolean |
isClosed() |
boolean |
isReadOnly() |
boolean |
isValid(int a) |
boolean |
isWrapperFor(java.lang.Class a) |
java.lang.String |
nativeSQL(java.lang.String a) |
java.sql.CallableStatement |
prepareCall(java.lang.String a) |
java.sql.CallableStatement |
prepareCall(java.lang.String a,
int b,
int c) |
java.sql.CallableStatement |
prepareCall(java.lang.String a,
int b,
int c,
int d) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String a) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String a,
int b) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String a,
int[] b) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String a,
int b,
int c) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String a,
int b,
int c,
int d) |
java.sql.PreparedStatement |
prepareStatement(java.lang.String a,
java.lang.String[] b) |
java.lang.Object |
rawConnectionOperation(java.lang.reflect.Method m,
java.lang.Object target,
java.lang.Object[] args)
Allows one to work with the unproxied, raw Connection.
|
void |
releaseSavepoint(java.sql.Savepoint a) |
void |
rollback() |
void |
rollback(java.sql.Savepoint a) |
void |
setAutoCommit(boolean a) |
void |
setCatalog(java.lang.String a) |
void |
setClientInfo(java.util.Properties a) |
void |
setClientInfo(java.lang.String a,
java.lang.String b) |
void |
setHoldability(int a) |
void |
setNetworkTimeout(java.util.concurrent.Executor a,
int b) |
void |
setReadOnly(boolean a) |
java.sql.Savepoint |
setSavepoint() |
java.sql.Savepoint |
setSavepoint(java.lang.String a) |
void |
setSchema(java.lang.String a) |
void |
setTransactionIsolation(int a) |
void |
setTypeMap(java.util.Map a) |
java.lang.String |
toString() |
java.lang.Object |
unwrap(java.lang.Class a) |
public void setReadOnly(boolean a) throws java.sql.SQLException
setReadOnly
in interface java.sql.Connection
java.sql.SQLException
public void close() throws java.sql.SQLException
close
in interface java.lang.AutoCloseable
close
in interface java.sql.Connection
java.sql.SQLException
public boolean isReadOnly() throws java.sql.SQLException
isReadOnly
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement(int a, int b) throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement() throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement(int a, int b, int c) throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String a, int b) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String a, int[] b) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String a, int b, int c) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String a, java.lang.String[] b) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String a, int b, int c, int d) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String a) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public boolean isClosed() throws java.sql.SQLException
isClosed
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String a, int b, int c, int d) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String a, int b, int c) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String a) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
getMetaData
in interface java.sql.Connection
java.sql.SQLException
public void setTransactionIsolation(int a) throws java.sql.SQLException
setTransactionIsolation
in interface java.sql.Connection
java.sql.SQLException
public void setCatalog(java.lang.String a) throws java.sql.SQLException
setCatalog
in interface java.sql.Connection
java.sql.SQLException
public void setHoldability(int a) throws java.sql.SQLException
setHoldability
in interface java.sql.Connection
java.sql.SQLException
public void setTypeMap(java.util.Map a) throws java.sql.SQLException
setTypeMap
in interface java.sql.Connection
java.sql.SQLException
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
getWarnings
in interface java.sql.Connection
java.sql.SQLException
public void clearWarnings() throws java.sql.SQLException
clearWarnings
in interface java.sql.Connection
java.sql.SQLException
public void commit() throws java.sql.SQLException
commit
in interface java.sql.Connection
java.sql.SQLException
public void rollback(java.sql.Savepoint a) throws java.sql.SQLException
rollback
in interface java.sql.Connection
java.sql.SQLException
public void rollback() throws java.sql.SQLException
rollback
in interface java.sql.Connection
java.sql.SQLException
public void setAutoCommit(boolean a) throws java.sql.SQLException
setAutoCommit
in interface java.sql.Connection
java.sql.SQLException
public void setClientInfo(java.lang.String a, java.lang.String b) throws java.sql.SQLClientInfoException
setClientInfo
in interface java.sql.Connection
java.sql.SQLClientInfoException
public void setClientInfo(java.util.Properties a) throws java.sql.SQLClientInfoException
setClientInfo
in interface java.sql.Connection
java.sql.SQLClientInfoException
public boolean isValid(int a) throws java.sql.SQLException
isValid
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String nativeSQL(java.lang.String a) throws java.sql.SQLException
nativeSQL
in interface java.sql.Connection
java.sql.SQLException
public boolean getAutoCommit() throws java.sql.SQLException
getAutoCommit
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String getCatalog() throws java.sql.SQLException
getCatalog
in interface java.sql.Connection
java.sql.SQLException
public int getTransactionIsolation() throws java.sql.SQLException
getTransactionIsolation
in interface java.sql.Connection
java.sql.SQLException
public java.util.Map getTypeMap() throws java.sql.SQLException
getTypeMap
in interface java.sql.Connection
java.sql.SQLException
public int getHoldability() throws java.sql.SQLException
getHoldability
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Savepoint setSavepoint(java.lang.String a) throws java.sql.SQLException
setSavepoint
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Savepoint setSavepoint() throws java.sql.SQLException
setSavepoint
in interface java.sql.Connection
java.sql.SQLException
public void releaseSavepoint(java.sql.Savepoint a) throws java.sql.SQLException
releaseSavepoint
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Clob createClob() throws java.sql.SQLException
createClob
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Blob createBlob() throws java.sql.SQLException
createBlob
in interface java.sql.Connection
java.sql.SQLException
public java.sql.NClob createNClob() throws java.sql.SQLException
createNClob
in interface java.sql.Connection
java.sql.SQLException
public java.sql.SQLXML createSQLXML() throws java.sql.SQLException
createSQLXML
in interface java.sql.Connection
java.sql.SQLException
public java.util.Properties getClientInfo() throws java.sql.SQLException
getClientInfo
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String getClientInfo(java.lang.String a) throws java.sql.SQLException
getClientInfo
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Array createArrayOf(java.lang.String a, java.lang.Object[] b) throws java.sql.SQLException
createArrayOf
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Struct createStruct(java.lang.String a, java.lang.Object[] b) throws java.sql.SQLException
createStruct
in interface java.sql.Connection
java.sql.SQLException
public void setSchema(java.lang.String a) throws java.sql.SQLException
setSchema
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String getSchema() throws java.sql.SQLException
getSchema
in interface java.sql.Connection
java.sql.SQLException
public void setNetworkTimeout(java.util.concurrent.Executor a, int b) throws java.sql.SQLException
setNetworkTimeout
in interface java.sql.Connection
java.sql.SQLException
public int getNetworkTimeout() throws java.sql.SQLException
getNetworkTimeout
in interface java.sql.Connection
java.sql.SQLException
public void abort(java.util.concurrent.Executor a) throws java.sql.SQLException
abort
in interface java.sql.Connection
java.sql.SQLException
public java.lang.Object unwrap(java.lang.Class a) throws java.sql.SQLException
unwrap
in interface java.sql.Wrapper
java.sql.SQLException
public boolean isWrapperFor(java.lang.Class a) throws java.sql.SQLException
isWrapperFor
in interface java.sql.Wrapper
java.sql.SQLException
public java.lang.Object rawConnectionOperation(java.lang.reflect.Method m, java.lang.Object target, java.lang.Object[] args) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.sql.SQLException
C3P0ProxyConnection
Allows 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 m on Object target (which may be null for static methods), passing and argument list args. For the method target, or for any argument, you may substitute the special token C3P0ProxyConnection.RAW_CONNECTION
Any 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.
rawConnectionOperation
in interface C3P0ProxyConnection
java.lang.IllegalAccessException
java.lang.IllegalArgumentException
java.lang.reflect.InvocationTargetException
java.sql.SQLException
public java.lang.String toString()
toString
in class java.lang.Object