- java.lang.Object
-
- org.hsqldb.jdbc.JDBCConnection
-
- org.hsqldb.jdbc.pool.JDBCXAConnectionWrapper
-
- All Implemented Interfaces:
java.lang.AutoCloseable,java.sql.Connection,java.sql.Wrapper
public class JDBCXAConnectionWrapper extends JDBCConnection
This is a wrapper class for JDBCConnection objects (not java.sql.XAConnection objects). Purpose of this class is to intercept and handle XA-related operations according to chapter 12 of the JDBC 3.0 specification, by returning this wrapped JDBCConnection to end-users. Global transaction services and XAResources will not use this wrapper.The new implementation extends JDBCConnection. A new object is created based on the session / session proxy of the JDBCXAConnection object in the constructor. (fredt)
- Since:
- HSQLDB 2.0.0
- Author:
- Blaine Simpson (blaine dot simpson at admc dot com)
- See Also:
JDBCConnection
-
-
Constructor Summary
Constructors Constructor Description JDBCXAConnectionWrapper(JDBCXAResource xaResource, JDBCXAConnection xaConnection, JDBCConnection databaseConnection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommit()Interceptor method, because this method is prohibited within any global transaction.voidrollback()Interceptor method, because this method is prohibited within any global transaction.voidrollback(java.sql.Savepoint savepoint)Interceptor method, because this method is prohibited within any global transaction.voidsetAutoCommit(boolean autoCommit)Interceptor method, because this method is prohibited within any global transaction.java.sql.SavepointsetSavepoint()Interceptor method, because this method is prohibited within any global transaction.java.sql.SavepointsetSavepoint(java.lang.String name)Interceptor method, because this method is prohibited within any global transaction.voidsetTransactionIsolation(int level)Interceptor method, because there may be XA implications to calling the method within a global transaction.-
Methods inherited from class org.hsqldb.jdbc.JDBCConnection
abort, beginRequest, clearWarnings, close, closeFully, createArrayOf, createBlob, createClob, createNClob, createSQLXML, createStatement, createStatement, createStatement, createStruct, endRequest, getAutoCommit, getCatalog, getClientInfo, getClientInfo, getConnProperties, getHoldability, getMetaData, getNetworkTimeout, getSchema, getSession, getTransactionIsolation, getTypeMap, getURL, getWarnings, isClosed, isInternal, isNetwork, isReadOnly, isValid, isWrapperFor, nativeSQL, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, releaseSavepoint, reset, setCatalog, setClientInfo, setClientInfo, setHoldability, setNetworkTimeout, setReadOnly, setSchema, setTypeMap, unwrap
-
-
-
-
Constructor Detail
-
JDBCXAConnectionWrapper
public JDBCXAConnectionWrapper(JDBCXAResource xaResource, JDBCXAConnection xaConnection, JDBCConnection databaseConnection) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
-
Method Detail
-
setAutoCommit
public void setAutoCommit(boolean autoCommit) throws java.sql.SQLExceptionInterceptor method, because this method is prohibited within any global transaction. See section 1.2.4 of the JDBC 3.0 spec.- Specified by:
setAutoCommitin interfacejava.sql.Connection- Overrides:
setAutoCommitin classJDBCConnection- Parameters:
autoCommit- mode- Throws:
java.sql.SQLException- on error- See Also:
JDBCConnection.getAutoCommit()
-
commit
public void commit() throws java.sql.SQLExceptionInterceptor method, because this method is prohibited within any global transaction. See section 1.2.4 of the JDBC 3.0 spec.- Specified by:
commitin interfacejava.sql.Connection- Overrides:
commitin classJDBCConnection- Throws:
java.sql.SQLException- on error- See Also:
JDBCConnection.setAutoCommit(boolean)
-
rollback
public void rollback() throws java.sql.SQLExceptionInterceptor method, because this method is prohibited within any global transaction. See section 1.2.4 of the JDBC 3.0 spec.- Specified by:
rollbackin interfacejava.sql.Connection- Overrides:
rollbackin classJDBCConnection- Throws:
java.sql.SQLException- on error- See Also:
JDBCConnection.setAutoCommit(boolean)
-
rollback
public void rollback(java.sql.Savepoint savepoint) throws java.sql.SQLExceptionInterceptor method, because this method is prohibited within any global transaction. See section 1.2.4 of the JDBC 3.0 spec.- Specified by:
rollbackin interfacejava.sql.Connection- Overrides:
rollbackin classJDBCConnection- Parameters:
savepoint- theSavepointobject to roll back to- Throws:
java.sql.SQLException- on error- See Also:
JDBCSavepoint,Savepoint,JDBCConnection.rollback()
-
setSavepoint
public java.sql.Savepoint setSavepoint() throws java.sql.SQLExceptionInterceptor method, because this method is prohibited within any global transaction. See section 1.2.4 of the JDBC 3.0 spec.- Specified by:
setSavepointin interfacejava.sql.Connection- Overrides:
setSavepointin classJDBCConnection- Returns:
- the new
Savepointobject - Throws:
java.sql.SQLException- on error- See Also:
JDBCSavepoint,Savepoint
-
setSavepoint
public java.sql.Savepoint setSavepoint(java.lang.String name) throws java.sql.SQLExceptionInterceptor method, because this method is prohibited within any global transaction. See section 1.2.4 of the JDBC 3.0 spec.- Specified by:
setSavepointin interfacejava.sql.Connection- Overrides:
setSavepointin classJDBCConnection- Parameters:
name- aStringcontaining the name of the savepoint- Returns:
- the new
Savepointobject - Throws:
java.sql.SQLException- if a database access error occurs, this method is called while participating in a distributed transaction, this method is called on a closed connection or thisConnectionobject is currently in auto-commit modejava.sql.SQLFeatureNotSupportedException- if the JDBC driver does not support this method- See Also:
JDBCSavepoint,Savepoint
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws java.sql.SQLExceptionInterceptor method, because there may be XA implications to calling the method within a global transaction. See section 1.2.4 of the JDBC 3.0 spec.HSQLDB does not allow changing the isolation level inside a transaction of any kind.
- Specified by:
setTransactionIsolationin interfacejava.sql.Connection- Overrides:
setTransactionIsolationin classJDBCConnection- Parameters:
level- isolation level- Throws:
java.sql.SQLException- if a database access error occurs, this method is called on a closed connection or the given parameter is not one of theConnectionconstants- See Also:
JDBCDatabaseMetaData.supportsTransactionIsolationLevel(int),JDBCConnection.getTransactionIsolation()
-
-