Class AbstractJiniTransactionManager
java.lang.Object
org.springframework.transaction.support.AbstractPlatformTransactionManager
org.openspaces.core.transaction.manager.AbstractJiniTransactionManager
- All Implemented Interfaces:
Serializable,JiniPlatformTransactionManager,ServiceDetailsProvider,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.transaction.ConfigurableTransactionManager,org.springframework.transaction.PlatformTransactionManager,org.springframework.transaction.TransactionManager
- Direct Known Subclasses:
DirectJiniTransactionManager,DistributedJiniTransactionManager,LookupJiniTransactionManager
public abstract class AbstractJiniTransactionManager
extends org.springframework.transaction.support.AbstractPlatformTransactionManager
implements JiniPlatformTransactionManager, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.BeanNameAware, ServiceDetailsProvider, org.springframework.beans.factory.DisposableBean
Base class for Jini implementation of Springs
PlatformTransactionManager. Uses Jini
TransactionManager in order to manage transactions with sub classes responsible for
providing it using doCreateTransactionManager().
Jini transactions are bounded under the setTransactionalContext(Object) using Springs
TransactionSynchronizationManager.bindResource(Object, Object). The transactional context
is optional and defaults to the Jini TransactionManager instance. Note, this can be
overridden by sub classes.
By default the transaction timeout will be 90 seconds. The default timeout on the
transaction manager level can be set using AbstractPlatformTransactionManager.setDefaultTimeout(int). If the timeout is
explicitly set using Spring support for transactions (for example using TransactionDefinition) this value will be used.
- Author:
- kimchy
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classJini Transaction object.static classNested classes/interfaces inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
org.springframework.transaction.support.AbstractPlatformTransactionManager.SuspendedResourcesHolder -
Field Summary
FieldsFields inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voidapplyIsolationLevel(AbstractJiniTransactionManager.JiniTransactionObject txObject, int isolationLevel) protected RuntimeExceptionconvertJiniException(Exception exception) voiddestroy()protected voidprotected voiddoCleanupAfterCompletion(Object transaction) protected voiddoCommit(org.springframework.transaction.support.DefaultTransactionStatus status) protected abstract TransactionManagerImplemented by sub classes to provide a JiniTransactionManager.protected Objectprotected voiddoJiniBegin(AbstractJiniTransactionManager.JiniTransactionObject txObject, org.springframework.transaction.TransactionDefinition definition) protected voidprotected voiddoRollback(org.springframework.transaction.support.DefaultTransactionStatus status) protected voiddoSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus status) protected ObjectReturns the transactional context the jini transaction is bounded under (usually using Spring synchronization which is based on thread local).protected booleanisExistingTransaction(Object transaction) protected StringlogMessage(String message) voidsetBeanName(String beanName) voidsetCommitTimeout(Long commitTimeout) Sets an optional timeout when performing commit in milliseconds.voidsetLeaseRenewalConfig(TransactionLeaseRenewalConfig leaseRenewalConfig) Sets the transaction lease renewal configuration.voidsetRollbackTimeout(Long rollbackTimeout) Sets an optional timeout when performing rollback/abort in milliseconds.voidsetTransactionalContext(Object txResource) protected booleanprotected booleanMethods inherited from class org.springframework.transaction.support.AbstractPlatformTransactionManager
commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionExecutionListeners, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, prepareForCommit, prepareSynchronization, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionExecutionListeners, setTransactionSynchronization, setTransactionSynchronizationName, setValidateExistingTransaction, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.transaction.ConfigurableTransactionManager
addListenerMethods inherited from interface org.springframework.transaction.PlatformTransactionManager
commit, getTransaction, rollbackMethods inherited from interface org.openspaces.pu.service.ServiceDetailsProvider
getServicesDetails
-
Field Details
-
SERVICE_TYPE
- See Also:
-
beanName
-
-
Constructor Details
-
AbstractJiniTransactionManager
public AbstractJiniTransactionManager()
-
-
Method Details
-
setBeanName
- Specified by:
setBeanNamein interfaceorg.springframework.beans.factory.BeanNameAware
-
getBeanName
- Specified by:
getBeanNamein interfaceJiniPlatformTransactionManager
-
getTransactionalContext
Description copied from interface:JiniPlatformTransactionManagerReturns the transactional context the jini transaction is bounded under (usually using Spring synchronization which is based on thread local).- Specified by:
getTransactionalContextin interfaceJiniPlatformTransactionManager
-
setTransactionalContext
-
setCommitTimeout
Sets an optional timeout when performing commit in milliseconds. Default:DEFAULT_TX_COMMIT_TIMEOUT. -
setRollbackTimeout
Sets an optional timeout when performing rollback/abort in milliseconds. Default:DEFAULT_TX_ROLLBACK_TIMEOUT. -
setLeaseRenewalConfig
Sets the transaction lease renewal configuration. Once set, transactions will be renewed automatically. If not set, no renewals will occur. -
doCreateTransactionManager
Implemented by sub classes to provide a JiniTransactionManager.- Throws:
Exception
-
getTransactionManager
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
destroy
- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean- Throws:
Exception
-
doGetTransaction
- Specified by:
doGetTransactionin classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
doBegin
protected void doBegin(Object transaction, org.springframework.transaction.TransactionDefinition definition) throws org.springframework.transaction.TransactionException - Specified by:
doBeginin classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
doJiniBegin
protected void doJiniBegin(AbstractJiniTransactionManager.JiniTransactionObject txObject, org.springframework.transaction.TransactionDefinition definition) -
applyIsolationLevel
protected void applyIsolationLevel(AbstractJiniTransactionManager.JiniTransactionObject txObject, int isolationLevel) throws org.springframework.transaction.InvalidIsolationLevelException - Throws:
org.springframework.transaction.InvalidIsolationLevelException
-
suppportsCustomIsolationLevel
protected boolean suppportsCustomIsolationLevel() -
doCommit
protected void doCommit(org.springframework.transaction.support.DefaultTransactionStatus status) throws org.springframework.transaction.TransactionException - Specified by:
doCommitin classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
isExistingTransaction
protected boolean isExistingTransaction(Object transaction) throws org.springframework.transaction.TransactionException - Overrides:
isExistingTransactionin classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
doRollback
protected void doRollback(org.springframework.transaction.support.DefaultTransactionStatus status) throws org.springframework.transaction.TransactionException - Specified by:
doRollbackin classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
doCleanupAfterCompletion
- Overrides:
doCleanupAfterCompletionin classorg.springframework.transaction.support.AbstractPlatformTransactionManager
-
doSetRollbackOnly
protected void doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus status) throws org.springframework.transaction.TransactionException - Overrides:
doSetRollbackOnlyin classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
doResume
protected void doResume(Object transaction, Object suspendedResources) throws org.springframework.transaction.TransactionException - Overrides:
doResumein classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
doSuspend
protected Object doSuspend(Object transaction) throws org.springframework.transaction.TransactionException - Overrides:
doSuspendin classorg.springframework.transaction.support.AbstractPlatformTransactionManager- Throws:
org.springframework.transaction.TransactionException
-
useSavepointForNestedTransaction
protected boolean useSavepointForNestedTransaction()- Overrides:
useSavepointForNestedTransactionin classorg.springframework.transaction.support.AbstractPlatformTransactionManager
-
convertJiniException
-
logMessage
-