com.protomatter.jdbc.pool
Class JdbcConnectionPoolConnection
java.lang.Object
|
+--com.protomatter.jdbc.pool.JdbcConnectionPoolConnection
- All Implemented Interfaces:
- java.sql.Connection, ObjectPoolObject, SyslogChannelAware
- public class JdbcConnectionPoolConnection
- extends java.lang.Object
- implements ObjectPoolObject, java.sql.Connection, SyslogChannelAware
A java.sql.Connection that's part of a pool of conections. When this
connection is closed, it is checked back into the pool, and it's options
like transaction isolation level, auto-commit, type map, etc are all reset to
defaults.
- See Also:
Connection
,
JdbcConnectionPoolDriver
,
JdbcConnectionPool
Fields inherited from interface java.sql.Connection |
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
pool
protected JdbcConnectionPool pool
connection
protected java.sql.Connection connection
getSyslogChannel
public java.lang.Object getSyslogChannel()
- Returns the channel information from the pool
this connection is associated with.
- Specified by:
getSyslogChannel
in interface SyslogChannelAware
deleteObjectPoolObject
public void deleteObjectPoolObject()
- Used by the connection pool.
- Specified by:
deleteObjectPoolObject
in interface ObjectPoolObject
refresh
public void refresh(boolean verbose)
throws java.sql.SQLException
- Will check that this connection is working and refresh it if not.
This executes the validity check statement that was set when
the connection pool was created. If that statement was not set,
the connection is refreshed no matter what. If the statement was
set, it is executed and if an exception is generated, the connection
is refreshed. If there's a problem refreshing the connection, this
connection wrapper is invalidated -- you will have to either keep
calling refresh() until it doesn't throw a SQLException, or call
close() and open another connection using the JdbcConnectionPoolDriver.
If verbose is true, messages are written to Syslog
during the refresh operation.
- Throws:
java.sql.SQLException
- If the connection needs refreshing and there is
a problem re-opening the connection.
refresh
public void refresh()
throws java.sql.SQLException
- Performs a non-verbose refresh.
- See Also:
refresh(boolean)
isObjectPoolObjectValid
public boolean isObjectPoolObjectValid()
- Used by the connection pool.
- Specified by:
isObjectPoolObjectValid
in interface ObjectPoolObject
beforeObjectPoolObjectCheckout
public void beforeObjectPoolObjectCheckout()
- Used by the connection pool.
- Specified by:
beforeObjectPoolObjectCheckout
in interface ObjectPoolObject
afterObjectPoolObjectCheckin
public void afterObjectPoolObjectCheckin()
- Used by the connection pool.
- Specified by:
afterObjectPoolObjectCheckin
in interface ObjectPoolObject
createStatement
public java.sql.Statement createStatement()
throws java.sql.SQLException
- Specified by:
createStatement
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
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
- Because the underlying connection can throw one.- See Also:
Connection
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
- Because the underlying connection can throw one.- See Also:
Connection
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
- Because the underlying connection can throw one.- See Also:
Connection
setAutoCommit
public void setAutoCommit(boolean autoCommit)
throws java.sql.SQLException
- Specified by:
setAutoCommit
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
getAutoCommit
public boolean getAutoCommit()
throws java.sql.SQLException
- Specified by:
getAutoCommit
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
commit
public void commit()
throws java.sql.SQLException
- Specified by:
commit
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
rollback
public void rollback()
throws java.sql.SQLException
- Specified by:
rollback
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
close
public void close()
throws java.sql.SQLException
- Specified by:
close
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
isClosed
public boolean isClosed()
throws java.sql.SQLException
- Specified by:
isClosed
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
getMetaData
public java.sql.DatabaseMetaData getMetaData()
throws java.sql.SQLException
- Specified by:
getMetaData
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
setReadOnly
public void setReadOnly(boolean readOnly)
throws java.sql.SQLException
- Specified by:
setReadOnly
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
isReadOnly
public boolean isReadOnly()
throws java.sql.SQLException
- Specified by:
isReadOnly
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
setCatalog
public void setCatalog(java.lang.String catalog)
throws java.sql.SQLException
- Specified by:
setCatalog
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
getCatalog
public java.lang.String getCatalog()
throws java.sql.SQLException
- Specified by:
getCatalog
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
setTransactionIsolation
public void setTransactionIsolation(int level)
throws java.sql.SQLException
- Specified by:
setTransactionIsolation
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
getTransactionIsolation
public int getTransactionIsolation()
throws java.sql.SQLException
- Specified by:
getTransactionIsolation
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
getWarnings
public java.sql.SQLWarning getWarnings()
throws java.sql.SQLException
- Specified by:
getWarnings
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
clearWarnings
public void clearWarnings()
throws java.sql.SQLException
- Specified by:
clearWarnings
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
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
- Because the underlying connection can throw one.- See Also:
Connection
getTypeMap
public java.util.Map getTypeMap()
throws java.sql.SQLException
- Specified by:
getTypeMap
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection
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
- Because the underlying connection can throw one.- See Also:
Connection
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
- Because the underlying connection can throw one.- See Also:
Connection
setTypeMap
public void setTypeMap(java.util.Map typeMap)
throws java.sql.SQLException
- Specified by:
setTypeMap
in interface java.sql.Connection
- Throws:
java.sql.SQLException
- Because the underlying connection can throw one.- See Also:
Connection