org.objectweb.easybeans.component.jdbcpool
Class JConnection

java.lang.Object
  extended by org.objectweb.easybeans.component.jdbcpool.JConnection
All Implemented Interfaces:
java.sql.Connection

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

This class represent a connection linked to the physical and XA connections. All errors are reported to the managed connection. This connection is returned to the client.

Author:
Philippe Durieux, Florent Benoit

Field Summary
private static JLog logger
          Logger used for debug.
private  java.sql.Connection physicalConnection
          JDBC connection provided by the DriverManager.
private  JManagedConnection xaConnection
          XA connection which receive events.
 
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
JConnection(JManagedConnection xaConnection, java.sql.Connection physicalConnection)
          Buils a Connection (viewed by the user) which rely on a Managed connection and a physical connection.
 
Method Summary
 void clearWarnings()
          
 void close()
          Trigger an event to the listener.
 void commit()
          In a JDBC-XA driver, Connection.commit is only called if we are outside a global transaction.
 java.sql.Statement createStatement()
          
 java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency)
          
 java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          
 boolean getAutoCommit()
          In a JDBC-XA driver, autocommit is false if we are in a global Tx.
 java.lang.String getCatalog()
          
 java.sql.Connection getConnection()
          Gets the physical connection to the database.
 int getHoldability()
          
 java.sql.DatabaseMetaData getMetaData()
          
 int getTransactionIsolation()
          
 java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap()
          
 java.sql.SQLWarning getWarnings()
          
 boolean isClosed()
          
 boolean isPhysicallyClosed()
           
 boolean isReadOnly()
          
 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()
          In a JDBC-XA driver, Connection.rollback is only called if we are outside a global transaction.
 void rollback(java.sql.Savepoint savepoint)
          
 void setAutoCommit(boolean autoCommit)
          In a JDBC-XA driver, autocommit is false if we are in a global Tx.
 void setCatalog(java.lang.String catalog)
          
 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<java.lang.String,java.lang.Class<?>> map)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static JLog logger
Logger used for debug.


physicalConnection

private java.sql.Connection physicalConnection
JDBC connection provided by the DriverManager.


xaConnection

private JManagedConnection xaConnection
XA connection which receive events.

Constructor Detail

JConnection

public JConnection(JManagedConnection xaConnection,
                   java.sql.Connection physicalConnection)
Buils a Connection (viewed by the user) which rely on a Managed connection and a physical connection.

Parameters:
xaConnection - the XA connection.
physicalConnection - the connection to the database.
Method Detail

getConnection

public java.sql.Connection getConnection()
Gets the physical connection to the database.

Returns:
physical connection to the database

createStatement

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

Specified by:
createStatement 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

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

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

isPhysicallyClosed

public boolean isPhysicallyClosed()
                           throws java.sql.SQLException
Returns:
true if the connection to the database is closed or not.
Throws:
java.sql.SQLException - if a database access error occurs

isClosed

public boolean isClosed()
                 throws java.sql.SQLException

Specified by:
isClosed 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

setReadOnly

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

Specified by:
setReadOnly 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

setCatalog

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

Specified by:
setCatalog 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

close

public void close()
           throws java.sql.SQLException
Trigger an event to the listener.

Specified by:
close in interface java.sql.Connection
Throws:
java.sql.SQLException - if a database access error occurs

setTransactionIsolation

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

Specified by:
setTransactionIsolation 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

getWarnings

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

Specified by:
getWarnings in interface java.sql.Connection
Throws:
java.sql.SQLException

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
In a JDBC-XA driver, Connection.commit is only called if we are outside a global transaction.

Specified by:
commit in interface java.sql.Connection
Throws:
java.sql.SQLException

rollback

public void rollback()
              throws java.sql.SQLException
In a JDBC-XA driver, Connection.rollback is only called if we are outside a global transaction.

Specified by:
rollback in interface java.sql.Connection
Throws:
java.sql.SQLException

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws java.sql.SQLException
In a JDBC-XA driver, autocommit is false if we are in a global Tx.

Specified by:
setAutoCommit in interface java.sql.Connection
Throws:
java.sql.SQLException

getAutoCommit

public boolean getAutoCommit()
                      throws java.sql.SQLException
In a JDBC-XA driver, autocommit is false if we are in a global Tx.

Specified by:
getAutoCommit 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

getTypeMap

public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap()
                                                              throws java.sql.SQLException

Specified by:
getTypeMap in interface java.sql.Connection
Throws:
java.sql.SQLException

setTypeMap

public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)
                throws java.sql.SQLException

Specified by:
setTypeMap 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

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

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

getHoldability

public int getHoldability()
                   throws java.sql.SQLException

Specified by:
getHoldability 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 resultSetType,
                                                   int resultSetConcurrency,
                                                   int resultSetHoldability)
                                            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

releaseSavepoint

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

Specified by:
releaseSavepoint 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

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