org.springframework.extensions.jcr.jackrabbit
Class LocalTransactionManager
java.lang.Object
org.springframework.transaction.support.AbstractPlatformTransactionManager
org.springframework.extensions.jcr.jackrabbit.LocalTransactionManager
- All Implemented Interfaces:
- java.io.Serializable, org.springframework.beans.factory.InitializingBean, org.springframework.transaction.PlatformTransactionManager
public class LocalTransactionManager
- extends org.springframework.transaction.support.AbstractPlatformTransactionManager
- implements org.springframework.beans.factory.InitializingBean
PlatformTransactionManager implementation for a single JCR SessionFactory. Binds a Jcr session from the
specified SessionFactory to the thread, potentially allowing for one thread session per session factory.
This local strategy is an alternative to executing JCR operations within JTA transactions. Its advantage is
that it is able to work in any environment, for example a standalone application or a test suite. It is
not able to provide XA transactions, for example to share transactions with data access.
JcrTemplate will auto-detect such thread-bound connection/session pairs and automatically participate in
them. There is currently no support for letting plain JCR code participate in such transactions.
This transaction strategy will typically be used in combination with a single JCR Repository for all JCR
access to save resources, typically in a standalone application.
- Author:
- Costin Leau, Guillaume Bort , Sergio Bossa, Salvatore Incandela
- See Also:
org.apache.jackrabbit.XASession,
RepositoryException,
AbstractPlatformTransactionManager,
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.transaction.support.AbstractPlatformTransactionManager |
commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, newTransactionStatus, prepareForCommit, 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 |
LocalTransactionManager
public LocalTransactionManager()
- Create a new JcrTransactionManager instance.
LocalTransactionManager
public LocalTransactionManager(SessionFactory sessionFactory)
- Create a new JcrTransactionManager instance.
- Parameters:
sessionFactory - Repository to manage transactions for
getSessionFactory
public SessionFactory getSessionFactory()
- Returns:
- Returns the sessionFactory.
afterPropertiesSet
public void afterPropertiesSet()
throws java.lang.Exception
- Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
- Throws:
java.lang.Exception
doGetTransaction
protected java.lang.Object doGetTransaction()
throws org.springframework.transaction.TransactionException
- Specified by:
doGetTransaction in class org.springframework.transaction.support.AbstractPlatformTransactionManager
- Throws:
org.springframework.transaction.TransactionException
isExistingTransaction
protected boolean isExistingTransaction(java.lang.Object transaction)
throws org.springframework.transaction.TransactionException
- Overrides:
isExistingTransaction in class org.springframework.transaction.support.AbstractPlatformTransactionManager
- Throws:
org.springframework.transaction.TransactionException
doBegin
protected void doBegin(java.lang.Object transaction,
org.springframework.transaction.TransactionDefinition transactionDefinition)
throws org.springframework.transaction.TransactionException
- Specified by:
doBegin in class org.springframework.transaction.support.AbstractPlatformTransactionManager
- Throws:
org.springframework.transaction.TransactionException
doSuspend
protected java.lang.Object doSuspend(java.lang.Object transaction)
- Overrides:
doSuspend in class org.springframework.transaction.support.AbstractPlatformTransactionManager
doResume
protected void doResume(java.lang.Object transaction,
java.lang.Object suspendedResources)
- Overrides:
doResume in class org.springframework.transaction.support.AbstractPlatformTransactionManager
doCommit
protected void doCommit(org.springframework.transaction.support.DefaultTransactionStatus status)
- Specified by:
doCommit in class org.springframework.transaction.support.AbstractPlatformTransactionManager
doRollback
protected void doRollback(org.springframework.transaction.support.DefaultTransactionStatus status)
- Specified by:
doRollback in class org.springframework.transaction.support.AbstractPlatformTransactionManager
doSetRollbackOnly
protected void doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus status)
- Overrides:
doSetRollbackOnly in class org.springframework.transaction.support.AbstractPlatformTransactionManager
doCleanupAfterCompletion
protected void doCleanupAfterCompletion(java.lang.Object transaction)
- Overrides:
doCleanupAfterCompletion in class org.springframework.transaction.support.AbstractPlatformTransactionManager
setSessionFactory
public void setSessionFactory(SessionFactory sessionFactory)
- Parameters:
sessionFactory - The sessionFactory to set.
Copyright © 2009. All Rights Reserved.