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, BeanFactoryAware, InitializingBean, PlatformTransactionManager, ResourceTransactionManager
public class ContextSourceAndHibernateTransactionManager
- extends 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
Methods inherited from class org.springframework.orm.hibernate3.HibernateTransactionManager |
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 |
ContextSourceAndHibernateTransactionManager
public ContextSourceAndHibernateTransactionManager()
isExistingTransaction
protected boolean isExistingTransaction(Object transaction)
- Overrides:
isExistingTransaction
in class HibernateTransactionManager
doGetTransaction
protected Object doGetTransaction()
throws TransactionException
- Overrides:
doGetTransaction
in class HibernateTransactionManager
- Throws:
TransactionException
doBegin
protected void doBegin(Object transaction,
TransactionDefinition definition)
throws TransactionException
- Overrides:
doBegin
in class HibernateTransactionManager
- Throws:
TransactionException
doCleanupAfterCompletion
protected void doCleanupAfterCompletion(Object transaction)
- Overrides:
doCleanupAfterCompletion
in class HibernateTransactionManager
doCommit
protected void doCommit(DefaultTransactionStatus status)
throws TransactionException
- Overrides:
doCommit
in class HibernateTransactionManager
- Throws:
TransactionException
doRollback
protected void doRollback(DefaultTransactionStatus status)
throws TransactionException
- Overrides:
doRollback
in class HibernateTransactionManager
- Throws:
TransactionException
getContextSource
public ContextSource getContextSource()
setContextSource
public void setContextSource(ContextSource contextSource)
setRenamingStrategy
protected void setRenamingStrategy(TempEntryRenamingStrategy renamingStrategy)
doSuspend
protected Object doSuspend(Object transaction)
throws TransactionException
- Overrides:
doSuspend
in class HibernateTransactionManager
- Throws:
TransactionException
doResume
protected void doResume(Object transaction,
Object suspendedResources)
throws TransactionException
- Overrides:
doResume
in class HibernateTransactionManager
- Throws:
TransactionException
afterPropertiesSet
public void afterPropertiesSet()
- Specified by:
afterPropertiesSet
in interface InitializingBean
- Overrides:
afterPropertiesSet
in class HibernateTransactionManager