net.sf.log4jdbc
Class ConnectionSpy
java.lang.Object
net.sf.log4jdbc.ConnectionSpy
- All Implemented Interfaces:
- Connection, Wrapper, Spy
public class ConnectionSpy
- extends Object
- implements Connection, Spy
Wraps a JDBC Connection and reports method calls, returns and exceptions.
This version is for jdbc 4.0.
- Author:
- Arthur Blake
- See Also:
for the jdbc 3 version.
-
|
Constructor Summary |
ConnectionSpy(Connection realConnection)
Create a new ConnectionSpy that wraps a given Connection. |
ConnectionSpy(Connection realConnection,
net.sf.log4jdbc.RdbmsSpecifics rdbmsSpecifics)
Create a new ConnectionSpy that wraps a given Connection. |
|
Method Summary |
void |
clearWarnings()
|
void |
close()
|
void |
commit()
|
Array |
createArrayOf(String typeName,
Object[] elements)
|
Blob |
createBlob()
|
Clob |
createClob()
|
NClob |
createNClob()
|
SQLXML |
createSQLXML()
|
Statement |
createStatement()
|
Statement |
createStatement(int resultSetType,
int resultSetConcurrency)
|
Statement |
createStatement(int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
Struct |
createStruct(String typeName,
Object[] attributes)
|
boolean |
getAutoCommit()
|
String |
getCatalog()
|
String |
getClassType()
Get the type of class being spied upon. |
Properties |
getClientInfo()
|
String |
getClientInfo(String name)
|
int |
getConnectionNumber()
Get the connection number. |
int |
getHoldability()
|
DatabaseMetaData |
getMetaData()
|
int |
getTransactionIsolation()
|
Map<String,Class<?>> |
getTypeMap()
|
SQLWarning |
getWarnings()
|
boolean |
isClosed()
|
boolean |
isReadOnly()
|
boolean |
isValid(int timeout)
|
boolean |
isWrapperFor(Class<?> iface)
|
String |
nativeSQL(String sql)
|
CallableStatement |
prepareCall(String sql)
|
CallableStatement |
prepareCall(String sql,
int resultSetType,
int resultSetConcurrency)
|
CallableStatement |
prepareCall(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
PreparedStatement |
prepareStatement(String sql)
|
PreparedStatement |
prepareStatement(String sql,
int autoGeneratedKeys)
|
PreparedStatement |
prepareStatement(String sql,
int[] columnIndexes)
|
PreparedStatement |
prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency)
|
PreparedStatement |
prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
PreparedStatement |
prepareStatement(String sql,
String[] columnNames)
|
void |
releaseSavepoint(Savepoint savepoint)
|
protected void |
reportAllReturns(String methodCall,
String returnValue)
|
protected void |
reportException(String methodCall,
SQLException exception)
|
protected void |
reportException(String methodCall,
SQLException exception,
String sql)
|
void |
rollback()
|
void |
rollback(Savepoint savepoint)
|
void |
setAutoCommit(boolean autoCommit)
|
void |
setCatalog(String catalog)
|
void |
setClientInfo(Properties properties)
|
void |
setClientInfo(String name,
String value)
|
void |
setHoldability(int holdability)
|
void |
setReadOnly(boolean readOnly)
|
Savepoint |
setSavepoint()
|
Savepoint |
setSavepoint(String name)
|
void |
setTransactionIsolation(int level)
|
void |
setTypeMap(Map<String,Class<?>> map)
|
|
unwrap(Class<T> iface)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ConnectionSpy
public ConnectionSpy(Connection realConnection)
- Create a new ConnectionSpy that wraps a given Connection.
- Parameters:
realConnection - "real" Connection that this ConnectionSpy wraps.
ConnectionSpy
public ConnectionSpy(Connection realConnection,
net.sf.log4jdbc.RdbmsSpecifics rdbmsSpecifics)
- Create a new ConnectionSpy that wraps a given Connection.
- Parameters:
realConnection - "real" Connection that this ConnectionSpy wraps.rdbmsSpecifics - the RdbmsSpecifics object for formatting logging appropriate for the Rdbms used.
getConnectionNumber
public int getConnectionNumber()
- Description copied from interface:
Spy
- Get the connection number. In general, this is used to track which underlying connection is being
used from the database. The number will be incremented each time a new Connection is retrieved from the
real underlying jdbc driver. This is useful for debugging and tracking down problems with connection pooling.
- Specified by:
getConnectionNumber in interface Spy
- Returns:
- the connection instance number.
getClassType
public String getClassType()
- Description copied from interface:
Spy
- Get the type of class being spied upon. For example, "Statement", "ResultSet", etc.
- Specified by:
getClassType in interface Spy
- Returns:
- a description of the type of class being spied upon.
reportException
protected void reportException(String methodCall,
SQLException exception,
String sql)
reportException
protected void reportException(String methodCall,
SQLException exception)
reportAllReturns
protected void reportAllReturns(String methodCall,
String returnValue)
isClosed
public boolean isClosed()
throws SQLException
- Specified by:
isClosed in interface Connection
- Throws:
SQLException
getWarnings
public SQLWarning getWarnings()
throws SQLException
- Specified by:
getWarnings in interface Connection
- Throws:
SQLException
setSavepoint
public Savepoint setSavepoint()
throws SQLException
- Specified by:
setSavepoint in interface Connection
- Throws:
SQLException
releaseSavepoint
public void releaseSavepoint(Savepoint savepoint)
throws SQLException
- Specified by:
releaseSavepoint in interface Connection
- Throws:
SQLException
rollback
public void rollback(Savepoint savepoint)
throws SQLException
- Specified by:
rollback in interface Connection
- Throws:
SQLException
getMetaData
public DatabaseMetaData getMetaData()
throws SQLException
- Specified by:
getMetaData in interface Connection
- Throws:
SQLException
clearWarnings
public void clearWarnings()
throws SQLException
- Specified by:
clearWarnings in interface Connection
- Throws:
SQLException
createStatement
public Statement createStatement()
throws SQLException
- Specified by:
createStatement in interface Connection
- Throws:
SQLException
createStatement
public Statement createStatement(int resultSetType,
int resultSetConcurrency)
throws SQLException
- Specified by:
createStatement in interface Connection
- Throws:
SQLException
createStatement
public Statement createStatement(int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException
- Specified by:
createStatement in interface Connection
- Throws:
SQLException
setReadOnly
public void setReadOnly(boolean readOnly)
throws SQLException
- Specified by:
setReadOnly in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql)
throws SQLException
- Specified by:
prepareStatement in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int autoGeneratedKeys)
throws SQLException
- Specified by:
prepareStatement in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency)
throws SQLException
- Specified by:
prepareStatement in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException
- Specified by:
prepareStatement in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
int[] columnIndexes)
throws SQLException
- Specified by:
prepareStatement in interface Connection
- Throws:
SQLException
setSavepoint
public Savepoint setSavepoint(String name)
throws SQLException
- Specified by:
setSavepoint in interface Connection
- Throws:
SQLException
prepareStatement
public PreparedStatement prepareStatement(String sql,
String[] columnNames)
throws SQLException
- Specified by:
prepareStatement in interface Connection
- Throws:
SQLException
createClob
public Clob createClob()
throws SQLException
- Specified by:
createClob in interface Connection
- Throws:
SQLException
createBlob
public Blob createBlob()
throws SQLException
- Specified by:
createBlob in interface Connection
- Throws:
SQLException
createNClob
public NClob createNClob()
throws SQLException
- Specified by:
createNClob in interface Connection
- Throws:
SQLException
createSQLXML
public SQLXML createSQLXML()
throws SQLException
- Specified by:
createSQLXML in interface Connection
- Throws:
SQLException
isValid
public boolean isValid(int timeout)
throws SQLException
- Specified by:
isValid in interface Connection
- Throws:
SQLException
setClientInfo
public void setClientInfo(String name,
String value)
throws SQLClientInfoException
- Specified by:
setClientInfo in interface Connection
- Throws:
SQLClientInfoException
setClientInfo
public void setClientInfo(Properties properties)
throws SQLClientInfoException
- Specified by:
setClientInfo in interface Connection
- Throws:
SQLClientInfoException
getClientInfo
public String getClientInfo(String name)
throws SQLException
- Specified by:
getClientInfo in interface Connection
- Throws:
SQLException
getClientInfo
public Properties getClientInfo()
throws SQLException
- Specified by:
getClientInfo in interface Connection
- Throws:
SQLException
createArrayOf
public Array createArrayOf(String typeName,
Object[] elements)
throws SQLException
- Specified by:
createArrayOf in interface Connection
- Throws:
SQLException
createStruct
public Struct createStruct(String typeName,
Object[] attributes)
throws SQLException
- Specified by:
createStruct in interface Connection
- Throws:
SQLException
isReadOnly
public boolean isReadOnly()
throws SQLException
- Specified by:
isReadOnly in interface Connection
- Throws:
SQLException
setHoldability
public void setHoldability(int holdability)
throws SQLException
- Specified by:
setHoldability in interface Connection
- Throws:
SQLException
prepareCall
public CallableStatement prepareCall(String sql)
throws SQLException
- Specified by:
prepareCall in interface Connection
- Throws:
SQLException
prepareCall
public CallableStatement prepareCall(String sql,
int resultSetType,
int resultSetConcurrency)
throws SQLException
- Specified by:
prepareCall in interface Connection
- Throws:
SQLException
prepareCall
public CallableStatement prepareCall(String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
throws SQLException
- Specified by:
prepareCall in interface Connection
- Throws:
SQLException
setCatalog
public void setCatalog(String catalog)
throws SQLException
- Specified by:
setCatalog in interface Connection
- Throws:
SQLException
nativeSQL
public String nativeSQL(String sql)
throws SQLException
- Specified by:
nativeSQL in interface Connection
- Throws:
SQLException
getTypeMap
public Map<String,Class<?>> getTypeMap()
throws SQLException
- Specified by:
getTypeMap in interface Connection
- Throws:
SQLException
setAutoCommit
public void setAutoCommit(boolean autoCommit)
throws SQLException
- Specified by:
setAutoCommit in interface Connection
- Throws:
SQLException
getCatalog
public String getCatalog()
throws SQLException
- Specified by:
getCatalog in interface Connection
- Throws:
SQLException
setTypeMap
public void setTypeMap(Map<String,Class<?>> map)
throws SQLException
- Specified by:
setTypeMap in interface Connection
- Throws:
SQLException
setTransactionIsolation
public void setTransactionIsolation(int level)
throws SQLException
- Specified by:
setTransactionIsolation in interface Connection
- Throws:
SQLException
getAutoCommit
public boolean getAutoCommit()
throws SQLException
- Specified by:
getAutoCommit in interface Connection
- Throws:
SQLException
getHoldability
public int getHoldability()
throws SQLException
- Specified by:
getHoldability in interface Connection
- Throws:
SQLException
getTransactionIsolation
public int getTransactionIsolation()
throws SQLException
- Specified by:
getTransactionIsolation in interface Connection
- Throws:
SQLException
commit
public void commit()
throws SQLException
- Specified by:
commit in interface Connection
- Throws:
SQLException
rollback
public void rollback()
throws SQLException
- Specified by:
rollback in interface Connection
- Throws:
SQLException
close
public void close()
throws SQLException
- Specified by:
close in interface Connection
- Throws:
SQLException
unwrap
public <T> T unwrap(Class<T> iface)
throws SQLException
- Specified by:
unwrap in interface Wrapper
- Throws:
SQLException
isWrapperFor
public boolean isWrapperFor(Class<?> iface)
throws SQLException
- Specified by:
isWrapperFor in interface Wrapper
- Throws:
SQLException