org.jmonit.support.jdbc
Class MonitoredConnection

java.lang.Object
  extended by org.jmonit.support.jdbc.MonitoredConnection
All Implemented Interfaces:
java.sql.Connection, java.sql.Wrapper

public class MonitoredConnection
extends java.lang.Object
implements java.sql.Connection

Wrapper around a JDBC connection. Only implements Java 1.3 JDBC-2.0 api to be fully compatible with Java 1.3 runtime.

Author:
Nicolas De Loof

Field Summary
 
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
MonitoredConnection(java.sql.Connection connection, JdbcMonitor monitor)
           
 
Method Summary
 void clearWarnings()
          
 void close()
          
 void commit()
          
 java.sql.Array createArrayOf(java.lang.String typeName, java.lang.Object[] elements)
           
 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 resultSetType, int resultSetConcurrency)
          
 java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          
 java.sql.Struct createStruct(java.lang.String typeName, java.lang.Object[] attributes)
           
 boolean getAutoCommit()
          
 java.lang.String getCatalog()
          
 java.util.Properties getClientInfo()
           
 java.lang.String getClientInfo(java.lang.String name)
           
 int getHoldability()
          
 java.sql.DatabaseMetaData getMetaData()
          
protected  java.sql.Connection getTargetConnection()
           
 int getTransactionIsolation()
          
 java.util.Map getTypeMap()
          
 java.sql.SQLWarning getWarnings()
          
 boolean isClosed()
          
 boolean isReadOnly()
          
 boolean isValid(int timeout)
           
 boolean isWrapperFor(java.lang.Class<?> iface)
           
 java.lang.String nativeSQL(java.lang.String sql)
          
 java.sql.CallableStatement prepareCall(java.lang.String sql)
          
 java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)
          
 java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames)
          
 void releaseSavepoint(java.sql.Savepoint savepoint)
          
 void rollback()
          
 void rollback(java.sql.Savepoint savepoint)
          
 void setAutoCommit(boolean autoCommit)
          
 void setCatalog(java.lang.String catalog)
          
 void setClientInfo(java.util.Properties properties)
           
 void setClientInfo(java.lang.String name, java.lang.String value)
           
 void setHoldability(int holdability)
          
 void setReadOnly(boolean readOnly)
          
 java.sql.Savepoint setSavepoint()
          
 java.sql.Savepoint setSavepoint(java.lang.String name)
          
 void setTransactionIsolation(int level)
          
 void setTypeMap(java.util.Map arg0)
          
<T> T
unwrap(java.lang.Class<T> iface)
           
protected  java.sql.CallableStatement wrapp(java.sql.CallableStatement statement, java.lang.String sql)
           
protected  java.sql.PreparedStatement wrapp(java.sql.PreparedStatement statement, java.lang.String sql)
           
protected  java.sql.Statement wrapp(java.sql.Statement statement)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MonitoredConnection

public MonitoredConnection(java.sql.Connection connection,
                           JdbcMonitor monitor)
Parameters:
connection - target connection
monitor - monitor for opened connections
Method Detail

clearWarnings

public void clearWarnings()
                   throws java.sql.SQLException

Specified by:
clearWarnings in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.clearWarnings()

close

public void close()
           throws java.sql.SQLException

Specified by:
close in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.close()

commit

public void commit()
            throws java.sql.SQLException

Specified by:
commit in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.commit()

createStatement

public java.sql.Statement createStatement()
                                   throws java.sql.SQLException

Specified by:
createStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.createStatement()

createStatement

public java.sql.Statement createStatement(int resultSetType,
                                          int resultSetConcurrency)
                                   throws java.sql.SQLException

Specified by:
createStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.createStatement(int, int)

getAutoCommit

public boolean getAutoCommit()
                      throws java.sql.SQLException

Specified by:
getAutoCommit in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.getAutoCommit()

getCatalog

public java.lang.String getCatalog()
                            throws java.sql.SQLException

Specified by:
getCatalog in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.getCatalog()

getMetaData

public java.sql.DatabaseMetaData getMetaData()
                                      throws java.sql.SQLException

Specified by:
getMetaData in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.getMetaData()

getTransactionIsolation

public int getTransactionIsolation()
                            throws java.sql.SQLException

Specified by:
getTransactionIsolation in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.getTransactionIsolation()

getTypeMap

public java.util.Map getTypeMap()
                         throws java.sql.SQLException

Specified by:
getTypeMap in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.getTypeMap()

getWarnings

public java.sql.SQLWarning getWarnings()
                                throws java.sql.SQLException

Specified by:
getWarnings in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.getWarnings()

isClosed

public boolean isClosed()
                 throws java.sql.SQLException

Specified by:
isClosed in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.isClosed()

isReadOnly

public boolean isReadOnly()
                   throws java.sql.SQLException

Specified by:
isReadOnly in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.isReadOnly()

nativeSQL

public java.lang.String nativeSQL(java.lang.String sql)
                           throws java.sql.SQLException

Specified by:
nativeSQL in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.nativeSQL(java.lang.String)

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                              int resultSetType,
                                              int resultSetConcurrency)
                                       throws java.sql.SQLException

Specified by:
prepareCall in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareCall(java.lang.String, int, int)

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String sql)
                                       throws java.sql.SQLException

Specified by:
prepareCall in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareCall(java.lang.String)

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int resultSetType,
                                                   int resultSetConcurrency)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareStatement(java.lang.String, int, int)

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareStatement(java.lang.String)

rollback

public void rollback()
              throws java.sql.SQLException

Specified by:
rollback in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.rollback()

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws java.sql.SQLException

Specified by:
setAutoCommit in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setAutoCommit(boolean)

setCatalog

public void setCatalog(java.lang.String catalog)
                throws java.sql.SQLException

Specified by:
setCatalog in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setCatalog(java.lang.String)

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws java.sql.SQLException

Specified by:
setReadOnly in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setReadOnly(boolean)

setTransactionIsolation

public void setTransactionIsolation(int level)
                             throws java.sql.SQLException

Specified by:
setTransactionIsolation in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setTransactionIsolation(int)

setTypeMap

public void setTypeMap(java.util.Map arg0)
                throws java.sql.SQLException

Specified by:
setTypeMap in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setTypeMap(java.util.Map)

getTargetConnection

protected java.sql.Connection getTargetConnection()
Returns:
the connection

wrapp

protected java.sql.Statement wrapp(java.sql.Statement statement)
Parameters:
statement - traget Statement
Returns:
monitored Statement

wrapp

protected java.sql.PreparedStatement wrapp(java.sql.PreparedStatement statement,
                                           java.lang.String sql)
Parameters:
statement - traget PreparedStatement
sql - SQL Query
Returns:
monitored PreparedStatement

wrapp

protected java.sql.CallableStatement wrapp(java.sql.CallableStatement statement,
                                           java.lang.String sql)
Parameters:
statement - target PreparedStatement
sql - SQL Query
Returns:
Monitored CallableStatement

createStatement

public java.sql.Statement createStatement(int resultSetType,
                                          int resultSetConcurrency,
                                          int resultSetHoldability)
                                   throws java.sql.SQLException

Specified by:
createStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.createStatement(int, int, int)

getHoldability

public int getHoldability()
                   throws java.sql.SQLException

Specified by:
getHoldability in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.getHoldability()

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String sql,
                                              int resultSetType,
                                              int resultSetConcurrency,
                                              int resultSetHoldability)
                                       throws java.sql.SQLException

Specified by:
prepareCall in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareCall(java.lang.String, int, int, int)

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int resultSetType,
                                                   int resultSetConcurrency,
                                                   int resultSetHoldability)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareStatement(java.lang.String, int, int, int)

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int autoGeneratedKeys)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareStatement(java.lang.String, int)

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   int[] columnIndexes)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareStatement(java.lang.String, int[])

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
                                                   java.lang.String[] columnNames)
                                            throws java.sql.SQLException

Specified by:
prepareStatement in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.prepareStatement(java.lang.String, java.lang.String[])

releaseSavepoint

public void releaseSavepoint(java.sql.Savepoint savepoint)
                      throws java.sql.SQLException

Specified by:
releaseSavepoint in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.releaseSavepoint(java.sql.Savepoint)

rollback

public void rollback(java.sql.Savepoint savepoint)
              throws java.sql.SQLException

Specified by:
rollback in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.rollback(java.sql.Savepoint)

setHoldability

public void setHoldability(int holdability)
                    throws java.sql.SQLException

Specified by:
setHoldability in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setHoldability(int)

setSavepoint

public java.sql.Savepoint setSavepoint()
                                throws java.sql.SQLException

Specified by:
setSavepoint in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setSavepoint()

setSavepoint

public java.sql.Savepoint setSavepoint(java.lang.String name)
                                throws java.sql.SQLException

Specified by:
setSavepoint in interface java.sql.Connection
Throws:
java.sql.SQLException
See Also:
Connection.setSavepoint(java.lang.String)

createArrayOf

public final java.sql.Array createArrayOf(java.lang.String typeName,
                                          java.lang.Object[] elements)
                                   throws java.sql.SQLException
Specified by:
createArrayOf in interface java.sql.Connection
Throws:
java.sql.SQLException

createBlob

public final java.sql.Blob createBlob()
                               throws java.sql.SQLException
Specified by:
createBlob in interface java.sql.Connection
Throws:
java.sql.SQLException

createClob

public final java.sql.Clob createClob()
                               throws java.sql.SQLException
Specified by:
createClob in interface java.sql.Connection
Throws:
java.sql.SQLException

createNClob

public final java.sql.NClob createNClob()
                                 throws java.sql.SQLException
Specified by:
createNClob in interface java.sql.Connection
Throws:
java.sql.SQLException

createSQLXML

public final java.sql.SQLXML createSQLXML()
                                   throws java.sql.SQLException
Specified by:
createSQLXML in interface java.sql.Connection
Throws:
java.sql.SQLException

createStruct

public final java.sql.Struct createStruct(java.lang.String typeName,
                                          java.lang.Object[] attributes)
                                   throws java.sql.SQLException
Specified by:
createStruct in interface java.sql.Connection
Throws:
java.sql.SQLException

getClientInfo

public final java.util.Properties getClientInfo()
                                         throws java.sql.SQLException
Specified by:
getClientInfo in interface java.sql.Connection
Throws:
java.sql.SQLException

getClientInfo

public final java.lang.String getClientInfo(java.lang.String name)
                                     throws java.sql.SQLException
Specified by:
getClientInfo in interface java.sql.Connection
Throws:
java.sql.SQLException

isValid

public final boolean isValid(int timeout)
                      throws java.sql.SQLException
Specified by:
isValid in interface java.sql.Connection
Throws:
java.sql.SQLException

isWrapperFor

public final boolean isWrapperFor(java.lang.Class<?> iface)
                           throws java.sql.SQLException
Specified by:
isWrapperFor in interface java.sql.Wrapper
Throws:
java.sql.SQLException

setClientInfo

public final void setClientInfo(java.util.Properties properties)
                         throws java.sql.SQLClientInfoException
Specified by:
setClientInfo in interface java.sql.Connection
Throws:
java.sql.SQLClientInfoException

setClientInfo

public final void setClientInfo(java.lang.String name,
                                java.lang.String value)
                         throws java.sql.SQLClientInfoException
Specified by:
setClientInfo in interface java.sql.Connection
Throws:
java.sql.SQLClientInfoException

unwrap

public final <T> T unwrap(java.lang.Class<T> iface)
               throws java.sql.SQLException
Specified by:
unwrap in interface java.sql.Wrapper
Throws:
java.sql.SQLException


Copyright © 2007 Nicolas De Loof. All Rights Reserved.