fc.jdbc
Class PooledConnection
java.lang.Object
fc.jdbc.PooledConnection
- All Implemented Interfaces:
- java.sql.Connection, java.sql.Wrapper
public class PooledConnection
- extends java.lang.Object
- implements java.sql.Connection
A poolable Connection
that works with the PooledConnectionMgr
. Closing this connection marks it as closed and
returns it to the pool.
The connection can be retrieved and closed as many times as needed.
It is very important that a connection be closed after use (this
is true for all connections, pooled or regular).
Typically one does so by saying:
Connection con;
try {
con = [..get either a pooled or regular connection..]
..use..
con.commit(); //if transactional
}
catch (SQLException e) {
con.rollback(); //if transactional
}
finally {
con.close(); //always (transactional or not)
}
Super Important: transactions are not rolled back or committed when close
is
invoked. You must either commit or rollback the transaction if in transaction mode (ie you
have called setAutoCommit(false)
on this connection). Returning the connection (via close)
back to the pool without committing/rolling-back will keep the prior statements around and those will
be committed/rolledback at a later date if commit/rollback is invoked upon retrieving/using the connection
again.
Fields inherited from interface java.sql.Connection |
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE |
Method Summary |
void |
clearWarnings()
|
void |
close()
transactions are not rolled back or committed when close is invoked. |
void |
commit()
|
java.sql.Array |
createArrayOf(java.lang.String str,
java.lang.Object[] arr)
|
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 str,
java.lang.Object[] arr)
|
boolean |
getAutoCommit()
|
java.sql.PreparedStatement |
getCachedPreparedStatement(java.lang.String sql)
|
java.lang.String |
getCatalog()
|
java.util.Properties |
getClientInfo()
|
java.lang.String |
getClientInfo(java.lang.String name)
|
int |
getHoldability()
|
java.sql.DatabaseMetaData |
getMetaData()
|
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 b)
|
void |
setCatalog(java.lang.String catalog)
|
void |
setClientInfo(java.util.Properties props)
|
void |
setClientInfo(java.lang.String key,
java.lang.String val)
|
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 map)
|
java.lang.String |
toString()
|
java.lang.Object |
unwrap(java.lang.Class iface)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
PooledConnection
public PooledConnection(PooledConnectionMgr pool,
java.sql.Connection con)
- Creates a initially open pooled connection that wraps the
specified jdbc connection.
close
public void close()
throws java.sql.SQLException
- transactions are not rolled back or committed when
close
is invoked. You must either commit or
rollback the transaction if in transaction mode (ie you have called setAutoCommit(false)
on this
connection).
eturning the connection (via close) back to the pool without committing/rolling-back will keep
the prior statements around and those will be committed/rolledback at a later date if commit/rollback is
invoked upon retrieving/using the connection again.
- Specified by:
close
in interface java.sql.Connection
- Throws:
java.sql.SQLException
isClosed
public boolean isClosed()
- Specified by:
isClosed
in interface java.sql.Connection
getCachedPreparedStatement
public java.sql.PreparedStatement getCachedPreparedStatement(java.lang.String sql)
throws java.sql.SQLException
- Throws:
java.sql.SQLException
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
clearWarnings
public void clearWarnings()
throws java.sql.SQLException
- Specified by:
clearWarnings
in interface java.sql.Connection
- Throws:
java.sql.SQLException
commit
public void commit()
throws java.sql.SQLException
- Specified by:
commit
in interface java.sql.Connection
- Throws:
java.sql.SQLException
createStatement
public java.sql.Statement createStatement()
throws java.sql.SQLException
- Specified by:
createStatement
in interface java.sql.Connection
- Throws:
java.sql.SQLException
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
getAutoCommit
public boolean getAutoCommit()
throws java.sql.SQLException
- Specified by:
getAutoCommit
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getCatalog
public java.lang.String getCatalog()
throws java.sql.SQLException
- Specified by:
getCatalog
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getMetaData
public java.sql.DatabaseMetaData getMetaData()
throws java.sql.SQLException
- Specified by:
getMetaData
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getTransactionIsolation
public int getTransactionIsolation()
throws java.sql.SQLException
- Specified by:
getTransactionIsolation
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getTypeMap
public java.util.Map getTypeMap()
throws java.sql.SQLException
- Specified by:
getTypeMap
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getWarnings
public java.sql.SQLWarning getWarnings()
throws java.sql.SQLException
- Specified by:
getWarnings
in interface java.sql.Connection
- Throws:
java.sql.SQLException
isReadOnly
public boolean isReadOnly()
throws java.sql.SQLException
- Specified by:
isReadOnly
in interface java.sql.Connection
- Throws:
java.sql.SQLException
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
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
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
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
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
rollback
public void rollback()
throws java.sql.SQLException
- Specified by:
rollback
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setAutoCommit
public void setAutoCommit(boolean b)
throws java.sql.SQLException
- Specified by:
setAutoCommit
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setCatalog
public void setCatalog(java.lang.String catalog)
throws java.sql.SQLException
- Specified by:
setCatalog
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setReadOnly
public void setReadOnly(boolean readOnly)
throws java.sql.SQLException
- Specified by:
setReadOnly
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setTransactionIsolation
public void setTransactionIsolation(int level)
throws java.sql.SQLException
- Specified by:
setTransactionIsolation
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setTypeMap
public void setTypeMap(java.util.Map map)
throws java.sql.SQLException
- Specified by:
setTypeMap
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getHoldability
public int getHoldability()
throws java.sql.SQLException
- Specified by:
getHoldability
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setHoldability
public void setHoldability(int holdability)
throws java.sql.SQLException
- Specified by:
setHoldability
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setSavepoint
public java.sql.Savepoint setSavepoint()
throws java.sql.SQLException
- Specified by:
setSavepoint
in interface java.sql.Connection
- Throws:
java.sql.SQLException
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
rollback
public void rollback(java.sql.Savepoint savepoint)
throws java.sql.SQLException
- Specified by:
rollback
in interface java.sql.Connection
- Throws:
java.sql.SQLException
releaseSavepoint
public void releaseSavepoint(java.sql.Savepoint savepoint)
throws java.sql.SQLException
- Specified by:
releaseSavepoint
in interface java.sql.Connection
- Throws:
java.sql.SQLException
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
createStruct
public java.sql.Struct createStruct(java.lang.String str,
java.lang.Object[] arr)
throws java.sql.SQLException
- Specified by:
createStruct
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getClientInfo
public java.util.Properties getClientInfo()
throws java.sql.SQLException
- Specified by:
getClientInfo
in interface java.sql.Connection
- Throws:
java.sql.SQLException
getClientInfo
public java.lang.String getClientInfo(java.lang.String name)
throws java.sql.SQLException
- Specified by:
getClientInfo
in interface java.sql.Connection
- Throws:
java.sql.SQLException
setClientInfo
public void setClientInfo(java.lang.String key,
java.lang.String val)
throws java.sql.SQLClientInfoException
- Specified by:
setClientInfo
in interface java.sql.Connection
- Throws:
java.sql.SQLClientInfoException
setClientInfo
public void setClientInfo(java.util.Properties props)
throws java.sql.SQLClientInfoException
- Specified by:
setClientInfo
in interface java.sql.Connection
- Throws:
java.sql.SQLClientInfoException
createArrayOf
public java.sql.Array createArrayOf(java.lang.String str,
java.lang.Object[] arr)
throws java.sql.SQLException
- Specified by:
createArrayOf
in interface java.sql.Connection
- Throws:
java.sql.SQLException
createBlob
public java.sql.Blob createBlob()
throws java.sql.SQLException
- Specified by:
createBlob
in interface java.sql.Connection
- Throws:
java.sql.SQLException
createClob
public java.sql.Clob createClob()
throws java.sql.SQLException
- Specified by:
createClob
in interface java.sql.Connection
- Throws:
java.sql.SQLException
createNClob
public java.sql.NClob createNClob()
throws java.sql.SQLException
- Specified by:
createNClob
in interface java.sql.Connection
- Throws:
java.sql.SQLException
createSQLXML
public java.sql.SQLXML createSQLXML()
throws java.sql.SQLException
- Specified by:
createSQLXML
in interface java.sql.Connection
- Throws:
java.sql.SQLException
isValid
public boolean isValid(int timeout)
throws java.sql.SQLException
- Specified by:
isValid
in interface java.sql.Connection
- Throws:
java.sql.SQLException
isWrapperFor
public boolean isWrapperFor(java.lang.Class iface)
throws java.sql.SQLException
- Specified by:
isWrapperFor
in interface java.sql.Wrapper
- Throws:
java.sql.SQLException
unwrap
public java.lang.Object unwrap(java.lang.Class iface)
throws java.sql.SQLException
- Specified by:
unwrap
in interface java.sql.Wrapper
- Throws:
java.sql.SQLException
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
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
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
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
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