spring-jdbc

org.springframework.jdbc.datasource
Class JdbcTransactionObjectSupport

java.lang.Object
  extended by org.springframework.jdbc.datasource.JdbcTransactionObjectSupport
All Implemented Interfaces:
org.springframework.transaction.SavepointManager, org.springframework.transaction.support.SmartTransactionObject

public abstract class JdbcTransactionObjectSupport
extends java.lang.Object
implements org.springframework.transaction.SavepointManager, org.springframework.transaction.support.SmartTransactionObject

Convenient base class for JDBC-aware transaction objects. Can contain a ConnectionHolder, and implements the SavepointManager interface based on that ConnectionHolder.

Allows for programmatic management of JDBC 3.0 Savepoints. Spring's DefaultTransactionStatus will automatically delegate to this, as it autodetects transaction objects that implement the SavepointManager interface.

Note that savepoints are only supported for drivers which support JDBC 3.0 or higher.

Since:
1.1
Author:
Juergen Hoeller

Constructor Summary
JdbcTransactionObjectSupport()
           
 
Method Summary
 java.lang.Object createSavepoint()
          This implementation creates a JDBC 3.0 Savepoint and returns it.
 void flush()
           
 ConnectionHolder getConnectionHolder()
           
protected  ConnectionHolder getConnectionHolderForSavepoint()
           
 java.lang.Integer getPreviousIsolationLevel()
           
 boolean hasConnectionHolder()
           
 boolean isSavepointAllowed()
           
 void releaseSavepoint(java.lang.Object savepoint)
          This implementation releases the given JDBC 3.0 Savepoint.
 void rollbackToSavepoint(java.lang.Object savepoint)
          This implementation rolls back to the given JDBC 3.0 Savepoint.
 void setConnectionHolder(ConnectionHolder connectionHolder)
           
 void setPreviousIsolationLevel(java.lang.Integer previousIsolationLevel)
           
 void setSavepointAllowed(boolean savepointAllowed)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.transaction.support.SmartTransactionObject
isRollbackOnly
 

Constructor Detail

JdbcTransactionObjectSupport

public JdbcTransactionObjectSupport()
Method Detail

setConnectionHolder

public void setConnectionHolder(ConnectionHolder connectionHolder)

getConnectionHolder

public ConnectionHolder getConnectionHolder()

hasConnectionHolder

public boolean hasConnectionHolder()

setPreviousIsolationLevel

public void setPreviousIsolationLevel(java.lang.Integer previousIsolationLevel)

getPreviousIsolationLevel

public java.lang.Integer getPreviousIsolationLevel()

setSavepointAllowed

public void setSavepointAllowed(boolean savepointAllowed)

isSavepointAllowed

public boolean isSavepointAllowed()

flush

public void flush()
Specified by:
flush in interface org.springframework.transaction.support.SmartTransactionObject

createSavepoint

public java.lang.Object createSavepoint()
                                 throws org.springframework.transaction.TransactionException
This implementation creates a JDBC 3.0 Savepoint and returns it.

Specified by:
createSavepoint in interface org.springframework.transaction.SavepointManager
Throws:
org.springframework.transaction.TransactionException
See Also:
Connection.setSavepoint()

rollbackToSavepoint

public void rollbackToSavepoint(java.lang.Object savepoint)
                         throws org.springframework.transaction.TransactionException
This implementation rolls back to the given JDBC 3.0 Savepoint.

Specified by:
rollbackToSavepoint in interface org.springframework.transaction.SavepointManager
Throws:
org.springframework.transaction.TransactionException
See Also:
Connection.rollback(java.sql.Savepoint)

releaseSavepoint

public void releaseSavepoint(java.lang.Object savepoint)
                      throws org.springframework.transaction.TransactionException
This implementation releases the given JDBC 3.0 Savepoint.

Specified by:
releaseSavepoint in interface org.springframework.transaction.SavepointManager
Throws:
org.springframework.transaction.TransactionException
See Also:
Connection.releaseSavepoint(java.sql.Savepoint)

getConnectionHolderForSavepoint

protected ConnectionHolder getConnectionHolderForSavepoint()
                                                    throws org.springframework.transaction.TransactionException
Throws:
org.springframework.transaction.TransactionException

spring-jdbc