org.jboss.minerva.xa
Class XAClientConnection

java.lang.Object
  |
  +--org.jboss.minerva.xa.XAClientConnection
All Implemented Interfaces:
java.sql.Connection, ConnectionWrapper

public class XAClientConnection
extends java.lang.Object
implements ConnectionWrapper

Wrapper for database connections used by an XAConnection. When close is called, it does not close the underlying connection, just informs the XAConnection that close was called. The connection will not be closed (or returned to the pool) until the transactional details are taken care of. This instance only lives as long as one client is using it - though we probably want to consider reusing it to save object allocations.

Version:
$Revision: 1.6 $
Author:
Aaron Mulder (ammulder@alumni.princeton.edu)

Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
 
Constructor Summary
XAClientConnection(XAConnectionImpl xaCon, java.sql.Connection con)
          Creates a new connection wrapper.
 
Method Summary
 void clearWarnings()
           
 void close()
           
 void commit()
           
 java.sql.Statement createStatement()
           
 java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency)
           
 boolean getAutoCommit()
           
 java.lang.String getCatalog()
           
 java.sql.DatabaseMetaData getMetaData()
           
 int getTransactionIsolation()
           
 java.util.Map getTypeMap()
           
 java.sql.Connection getUnderlyingConnection()
          Gets a reference to the "real" connection.
 java.sql.SQLWarning getWarnings()
           
 boolean isClosed()
           
 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.PreparedStatement prepareStatement(java.lang.String sql)
           
 java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)
           
 void rollback()
           
 void setAutoCommit(boolean autoCommit)
           
 void setCatalog(java.lang.String catalog)
           
 void setError(java.sql.SQLException e)
          Indicates that an error occured on this connection.
 void setLastUsed()
          Updates the last used time for this connection to the current time.
 void setReadOnly(boolean readOnly)
           
 void setTransactionIsolation(int level)
           
 void setTypeMap(java.util.Map map)
           
 void shutdown()
          Closes this connection wrapper permanently.
 void statementClosed(java.sql.Statement st)
          Indicates that a statement has been closed and no longer needs to be tracked.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XAClientConnection

public XAClientConnection(XAConnectionImpl xaCon,
                          java.sql.Connection con)
Creates a new connection wrapper.
Parameters:
xaCon - The handler for all the transactional details.
con - The "real" database connection to wrap.
Method Detail

getUnderlyingConnection

public java.sql.Connection getUnderlyingConnection()
Gets a reference to the "real" connection. This should only be used if you need to cast that to a specific type to call a proprietary method - you will defeat all the pooling if you use the underlying connection directly.

shutdown

public void shutdown()
Closes this connection wrapper permanently. All further calls with throw a SQLException.

setLastUsed

public void setLastUsed()
Updates the last used time for this connection to the current time. This is not used by the current implementation.
Specified by:
setLastUsed in interface ConnectionWrapper

setError

public void setError(java.sql.SQLException e)
Indicates that an error occured on this connection.
Specified by:
setError in interface ConnectionWrapper

statementClosed

public void statementClosed(java.sql.Statement st)
Indicates that a statement has been closed and no longer needs to be tracked. Outstanding statements are closed when the connection is returned to the pool.
Specified by:
statementClosed in interface ConnectionWrapper

createStatement

public java.sql.Statement createStatement()
                                   throws java.sql.SQLException
Specified by:
createStatement in interface java.sql.Connection

prepareStatement

public java.sql.PreparedStatement prepareStatement(java.lang.String sql)
                                            throws java.sql.SQLException
Specified by:
prepareStatement in interface java.sql.Connection

prepareCall

public java.sql.CallableStatement prepareCall(java.lang.String sql)
                                       throws java.sql.SQLException
Specified by:
prepareCall in interface java.sql.Connection

nativeSQL

public java.lang.String nativeSQL(java.lang.String sql)
                           throws java.sql.SQLException
Specified by:
nativeSQL in interface java.sql.Connection

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws java.sql.SQLException
Specified by:
setAutoCommit in interface java.sql.Connection

getAutoCommit

public boolean getAutoCommit()
                      throws java.sql.SQLException
Specified by:
getAutoCommit in interface java.sql.Connection

commit

public void commit()
            throws java.sql.SQLException
Specified by:
commit in interface java.sql.Connection

rollback

public void rollback()
              throws java.sql.SQLException
Specified by:
rollback in interface java.sql.Connection

close

public void close()
           throws java.sql.SQLException
Specified by:
close in interface java.sql.Connection

isClosed

public boolean isClosed()
                 throws java.sql.SQLException
Specified by:
isClosed in interface java.sql.Connection

getMetaData

public java.sql.DatabaseMetaData getMetaData()
                                      throws java.sql.SQLException
Specified by:
getMetaData in interface java.sql.Connection

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws java.sql.SQLException
Specified by:
setReadOnly in interface java.sql.Connection

isReadOnly

public boolean isReadOnly()
                   throws java.sql.SQLException
Specified by:
isReadOnly in interface java.sql.Connection

setCatalog

public void setCatalog(java.lang.String catalog)
                throws java.sql.SQLException
Specified by:
setCatalog in interface java.sql.Connection

getCatalog

public java.lang.String getCatalog()
                            throws java.sql.SQLException
Specified by:
getCatalog in interface java.sql.Connection

setTransactionIsolation

public void setTransactionIsolation(int level)
                             throws java.sql.SQLException
Specified by:
setTransactionIsolation in interface java.sql.Connection

getTransactionIsolation

public int getTransactionIsolation()
                            throws java.sql.SQLException
Specified by:
getTransactionIsolation in interface java.sql.Connection

getWarnings

public java.sql.SQLWarning getWarnings()
                                throws java.sql.SQLException
Specified by:
getWarnings in interface java.sql.Connection

clearWarnings

public void clearWarnings()
                   throws java.sql.SQLException
Specified by:
clearWarnings in interface java.sql.Connection

createStatement

public java.sql.Statement createStatement(int resultSetType,
                                          int resultSetConcurrency)
                                   throws java.sql.SQLException
Specified by:
createStatement in interface java.sql.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

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

getTypeMap

public java.util.Map getTypeMap()
                         throws java.sql.SQLException
Specified by:
getTypeMap in interface java.sql.Connection

setTypeMap

public void setTypeMap(java.util.Map map)
                throws java.sql.SQLException
Specified by:
setTypeMap in interface java.sql.Connection


Copyright © 2000 The jBoss Organization. All Rights Reserved.