org.springframework.ldap.transaction.compensating.manager
Class ContextSourceAndDataSourceTransactionManager

java.lang.Object
  extended by org.springframework.transaction.support.AbstractPlatformTransactionManager
      extended by org.springframework.jdbc.datasource.DataSourceTransactionManager
          extended by org.springframework.ldap.transaction.compensating.manager.ContextSourceAndDataSourceTransactionManager
All Implemented Interfaces:
java.io.Serializable, org.springframework.beans.factory.InitializingBean, org.springframework.transaction.PlatformTransactionManager, org.springframework.transaction.support.ResourceTransactionManager

public class ContextSourceAndDataSourceTransactionManager
extends org.springframework.jdbc.datasource.DataSourceTransactionManager

A Transaction Manager to manage LDAP and JDBC operations within the same transaction. Note that even though the same logical transaction is used, this is not a JTA XA transaction; no two-phase commit will be performed, and thus commit and rollback may yield unexpected results.

Since:
1.2
Author:
Mattias Arthursson
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
org.springframework.transaction.support.AbstractPlatformTransactionManager.SuspendedResourcesHolder
 
Field Summary
 
Fields inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION
 
Constructor Summary
ContextSourceAndDataSourceTransactionManager()
           
 
Method Summary
protected  void doBegin(java.lang.Object transaction, org.springframework.transaction.TransactionDefinition definition)
           
protected  void doCleanupAfterCompletion(java.lang.Object transaction)
           
protected  void doCommit(org.springframework.transaction.support.DefaultTransactionStatus status)
           
protected  java.lang.Object doGetTransaction()
           
protected  void doResume(java.lang.Object transaction, java.lang.Object suspendedResources)
           
protected  void doRollback(org.springframework.transaction.support.DefaultTransactionStatus status)
           
protected  java.lang.Object doSuspend(java.lang.Object transaction)
           
 ContextSource getContextSource()
           
protected  boolean isExistingTransaction(java.lang.Object transaction)
           
 void setContextSource(ContextSource contextSource)
           
protected  void setRenamingStrategy(TempEntryRenamingStrategy renamingStrategy)
           
 
Methods inherited from class org.springframework.jdbc.datasource.DataSourceTransactionManager
afterPropertiesSet, doSetRollbackOnly, getDataSource, getResourceFactory, setDataSource
 
Methods inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, newTransactionStatus, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setTransactionSynchronizationName, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletion, useSavepointForNestedTransaction
 
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.PlatformTransactionManager
commit, getTransaction, rollback
 

Constructor Detail

ContextSourceAndDataSourceTransactionManager

public ContextSourceAndDataSourceTransactionManager()
Method Detail

isExistingTransaction

protected boolean isExistingTransaction(java.lang.Object transaction)
Overrides:
isExistingTransaction in class org.springframework.jdbc.datasource.DataSourceTransactionManager

doGetTransaction

protected java.lang.Object doGetTransaction()
                                     throws org.springframework.transaction.TransactionException
Overrides:
doGetTransaction in class org.springframework.jdbc.datasource.DataSourceTransactionManager
Throws:
org.springframework.transaction.TransactionException

doBegin

protected void doBegin(java.lang.Object transaction,
                       org.springframework.transaction.TransactionDefinition definition)
                throws org.springframework.transaction.TransactionException
Overrides:
doBegin in class org.springframework.jdbc.datasource.DataSourceTransactionManager
Throws:
org.springframework.transaction.TransactionException

doCleanupAfterCompletion

protected void doCleanupAfterCompletion(java.lang.Object transaction)
Overrides:
doCleanupAfterCompletion in class org.springframework.jdbc.datasource.DataSourceTransactionManager

doCommit

protected void doCommit(org.springframework.transaction.support.DefaultTransactionStatus status)
                 throws org.springframework.transaction.TransactionException
Overrides:
doCommit in class org.springframework.jdbc.datasource.DataSourceTransactionManager
Throws:
org.springframework.transaction.TransactionException

doRollback

protected void doRollback(org.springframework.transaction.support.DefaultTransactionStatus status)
                   throws org.springframework.transaction.TransactionException
Overrides:
doRollback in class org.springframework.jdbc.datasource.DataSourceTransactionManager
Throws:
org.springframework.transaction.TransactionException

getContextSource

public ContextSource getContextSource()

setContextSource

public void setContextSource(ContextSource contextSource)

setRenamingStrategy

protected void setRenamingStrategy(TempEntryRenamingStrategy renamingStrategy)

doSuspend

protected java.lang.Object doSuspend(java.lang.Object transaction)
                              throws org.springframework.transaction.TransactionException
Overrides:
doSuspend in class org.springframework.jdbc.datasource.DataSourceTransactionManager
Throws:
org.springframework.transaction.TransactionException

doResume

protected void doResume(java.lang.Object transaction,
                        java.lang.Object suspendedResources)
                 throws org.springframework.transaction.TransactionException
Overrides:
doResume in class org.springframework.jdbc.datasource.DataSourceTransactionManager
Throws:
org.springframework.transaction.TransactionException


Copyright � 2002-2006. All Rights Reserved.