org.springframework.ldap.transaction.compensating.manager
Class ContextSourceAndHibernateTransactionManager
java.lang.Object
org.springframework.transaction.support.AbstractPlatformTransactionManager
org.springframework.orm.hibernate3.HibernateTransactionManager
org.springframework.ldap.transaction.compensating.manager.ContextSourceAndHibernateTransactionManager
- All Implemented Interfaces:
- Serializable, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, org.springframework.transaction.PlatformTransactionManager, org.springframework.transaction.support.ResourceTransactionManager
public class ContextSourceAndHibernateTransactionManager
- extends org.springframework.orm.hibernate3.HibernateTransactionManager
A Transaction Manager to manage LDAP and Hibernate 3 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.
This Transaction Manager is as good as it gets when you are using in LDAP in
combination with a Hibernate 3 and unable to use XA transactions because LDAP
is not transactional by design to begin with.
Furthermore, this manager does not support nested transactions
- Since:
- 1.2.2
- Author:
- Hans Westerbeek
- See Also:
- Serialized Form
Fields inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager |
logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION |
Methods inherited from class org.springframework.orm.hibernate3.HibernateTransactionManager |
afterPropertiesSet, convertHibernateAccessException, convertJdbcAccessException, doSetRollbackOnly, getDataSource, getDefaultJdbcExceptionTranslator, getEntityInterceptor, getJdbcExceptionTranslator, getResourceFactory, getSessionFactory, isSameConnectionForEntireSession, prepareForCommit, setAutodetectDataSource, setBeanFactory, setDataSource, setEarlyFlushBeforeCommit, setEntityInterceptor, setEntityInterceptorBeanName, setHibernateManagedSession, setJdbcExceptionTranslator, setPrepareConnection, setSessionFactory |
Methods inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager |
commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, newTransactionStatus, prepareSynchronization, prepareTransactionStatus, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setTransactionSynchronizationName, setValidateExistingTransaction, 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 |
ContextSourceAndHibernateTransactionManager
public ContextSourceAndHibernateTransactionManager()
isExistingTransaction
protected boolean isExistingTransaction(Object transaction)
- Overrides:
isExistingTransaction
in class org.springframework.orm.hibernate3.HibernateTransactionManager
doGetTransaction
protected Object doGetTransaction()
throws org.springframework.transaction.TransactionException
- Overrides:
doGetTransaction
in class org.springframework.orm.hibernate3.HibernateTransactionManager
- Throws:
org.springframework.transaction.TransactionException
doBegin
protected void doBegin(Object transaction,
org.springframework.transaction.TransactionDefinition definition)
throws org.springframework.transaction.TransactionException
- Overrides:
doBegin
in class org.springframework.orm.hibernate3.HibernateTransactionManager
- Throws:
org.springframework.transaction.TransactionException
doCleanupAfterCompletion
protected void doCleanupAfterCompletion(Object transaction)
- Overrides:
doCleanupAfterCompletion
in class org.springframework.orm.hibernate3.HibernateTransactionManager
doCommit
protected void doCommit(org.springframework.transaction.support.DefaultTransactionStatus status)
throws org.springframework.transaction.TransactionException
- Overrides:
doCommit
in class org.springframework.orm.hibernate3.HibernateTransactionManager
- 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.orm.hibernate3.HibernateTransactionManager
- Throws:
org.springframework.transaction.TransactionException
getContextSource
public ContextSource getContextSource()
setContextSource
public void setContextSource(ContextSource contextSource)
setRenamingStrategy
protected void setRenamingStrategy(TempEntryRenamingStrategy renamingStrategy)
doSuspend
protected Object doSuspend(Object transaction)
throws org.springframework.transaction.TransactionException
- Overrides:
doSuspend
in class org.springframework.orm.hibernate3.HibernateTransactionManager
- Throws:
org.springframework.transaction.TransactionException
doResume
protected void doResume(Object transaction,
Object suspendedResources)
throws org.springframework.transaction.TransactionException
- Overrides:
doResume
in class org.springframework.orm.hibernate3.HibernateTransactionManager
- Throws:
org.springframework.transaction.TransactionException