org.alfresco.repo.transaction
Class TransactionServiceImpl

java.lang.Object
  extended by org.alfresco.repo.transaction.TransactionServiceImpl
All Implemented Interfaces:
TransactionService

public class TransactionServiceImpl
extends java.lang.Object
implements TransactionService

Default implementation of Transaction Service.

Default retry behaviour: see RetryingTransactionHelper.RetryingTransactionHelper()


Constructor Summary
TransactionServiceImpl()
           
 
Method Summary
 javax.transaction.UserTransaction getNonPropagatingUserTransaction()
          Gets a user transaction that ensures a new transaction is created.
 javax.transaction.UserTransaction getNonPropagatingUserTransaction(boolean readOnly)
          Gets a user transaction that ensures a new transaction is created.
 RetryingTransactionHelper getRetryingTransactionHelper()
          Creates a new helper instance.
 javax.transaction.UserTransaction getUserTransaction()
          Gets a user transaction that supports transaction propagation.
 javax.transaction.UserTransaction getUserTransaction(boolean readOnly)
          Gets a user transaction that supports transaction propagation.
 boolean isReadOnly()
          Determine if ALL user transactions will be read-only.
 void setAllowWrite(boolean allowWrite)
          Set the read-only mode for all generated transactions.
 void setAuthenticationContext(AuthenticationContext authenticationContext)
          Sets the authentication context.
 void setMaxRetries(int maxRetries)
           
 void setMaxRetryWaitMs(int maxRetryWaitMs)
           
 void setMinRetryWaitMs(int minRetryWaitMs)
           
 void setRetryWaitIncrementMs(int retryWaitIncrementMs)
           
 void setSysAdminParams(SysAdminParams sysAdminParams)
           
 void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
          Set the transaction manager to use
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionServiceImpl

public TransactionServiceImpl()
Method Detail

setTransactionManager

public void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager)
Set the transaction manager to use

Parameters:
transactionManager - platform transaction manager

setAuthenticationContext

public void setAuthenticationContext(AuthenticationContext authenticationContext)
Sets the authentication context.

Parameters:
authenticationContext - the authentication context

setSysAdminParams

public void setSysAdminParams(SysAdminParams sysAdminParams)

setAllowWrite

public void setAllowWrite(boolean allowWrite)
Set the read-only mode for all generated transactions.

Parameters:
allowWrite - false if all transactions must be read-only

isReadOnly

public boolean isReadOnly()
Description copied from interface: TransactionService
Determine if ALL user transactions will be read-only.

Specified by:
isReadOnly in interface TransactionService
Returns:
Returns true if all transactions are read-only.

setMaxRetries

public void setMaxRetries(int maxRetries)
See Also:
RetryingTransactionHelper.setMaxRetries(int)

setMinRetryWaitMs

public void setMinRetryWaitMs(int minRetryWaitMs)
See Also:
RetryingTransactionHelper.setMinRetryWaitMs(int)

setMaxRetryWaitMs

public void setMaxRetryWaitMs(int maxRetryWaitMs)
See Also:
RetryingTransactionHelper.setMaxRetryWaitMs(int)

setRetryWaitIncrementMs

public void setRetryWaitIncrementMs(int retryWaitIncrementMs)
See Also:
RetryingTransactionHelper.setRetryWaitIncrementMs(int)

getUserTransaction

public javax.transaction.UserTransaction getUserTransaction()
Description copied from interface: TransactionService
Gets a user transaction that supports transaction propagation. This is like the EJB REQUIRED transaction attribute.

Specified by:
getUserTransaction in interface TransactionService
Returns:
the user transaction
See Also:
TransactionDefinition.PROPAGATION_REQUIRED

getUserTransaction

public javax.transaction.UserTransaction getUserTransaction(boolean readOnly)
Description copied from interface: TransactionService
Gets a user transaction that supports transaction propagation. This is like the EJB REQUIRED transaction attribute.

Specified by:
getUserTransaction in interface TransactionService
Parameters:
readOnly - Set true for a READONLY transaction instance, false otherwise. Note that it is not always possible to force a write transaction if the system is in read-only mode.
Returns:
the user transaction
See Also:
TransactionDefinition.PROPAGATION_REQUIRED

getNonPropagatingUserTransaction

public javax.transaction.UserTransaction getNonPropagatingUserTransaction()
Description copied from interface: TransactionService
Gets a user transaction that ensures a new transaction is created. Any enclosing transaction is not propagated. This is like the EJB REQUIRES_NEW transaction attribute - when the transaction is started, the current transaction will be suspended and a new one started.

Specified by:
getNonPropagatingUserTransaction in interface TransactionService
Returns:
Returns a non-propagating user transaction
See Also:
TransactionDefinition.PROPAGATION_REQUIRES_NEW

getNonPropagatingUserTransaction

public javax.transaction.UserTransaction getNonPropagatingUserTransaction(boolean readOnly)
Description copied from interface: TransactionService
Gets a user transaction that ensures a new transaction is created. Any enclosing transaction is not propagated. This is like the EJB REQUIRES_NEW transaction attribute - when the transaction is started, the current transaction will be suspended and a new one started.

Specified by:
getNonPropagatingUserTransaction in interface TransactionService
Parameters:
readOnly - Set true for a READONLY transaction instance, false otherwise. Note that it is not always possible to force a write transaction if the system is in read-only mode.
Returns:
Returns a non-gating user transaction
See Also:
TransactionDefinition.PROPAGATION_REQUIRES_NEW

getRetryingTransactionHelper

public RetryingTransactionHelper getRetryingTransactionHelper()
Creates a new helper instance. It can be reused or customized by the client code: each instance is new and initialized afresh.

Specified by:
getRetryingTransactionHelper in interface TransactionService
Returns:
Returns a helper object that executes units of work transactionally. The helper can be reused or altered as required.


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.