com.atomikos.icatch.imp
Class CompositeTransactionImp
java.lang.Object
com.atomikos.icatch.imp.AbstractCompositeTransaction
com.atomikos.icatch.imp.CompositeTransactionImp
- All Implemented Interfaces:
- FSMEnterListener, Stateful<TxState>, CompositeTransaction, TransactionControl, Serializable, EventListener
public class CompositeTransactionImp
- extends AbstractCompositeTransaction
- implements TransactionControl, FSMEnterListener
A complete composite transaction implementation for use in the local VM.
- See Also:
- Serialized Form
| Methods inherited from class com.atomikos.icatch.imp.AbstractCompositeTransaction |
equals, getLineage, getProperties, getProperty, getTid, hashCode, isAncestorOf, isDescendantOf, isRelatedTransaction, isRoot, isSameTransaction, isSerial, setProperty, setTag |
coordinator_
protected CoordinatorImp coordinator_
txservice_
protected TransactionServiceImp txservice_
extent_
protected Extent extent_
noLocalAncestors_
protected boolean noLocalAncestors_
CompositeTransactionImp
public CompositeTransactionImp(TransactionServiceImp txservice,
Stack lineage,
String tid,
boolean serial,
CoordinatorImp coordinator)
throws IllegalStateException
- Constructor.
- Parameters:
txservice - The Transaction Service this is for.lineage - The ancestor information.tid - The identifier for this one.serial - If true, no parallel calls allowed.coordinator - The coordinator to use.
- Throws:
IllegalStateException - If coordinator no longer activatable.
getTransactionControl
public TransactionControl getTransactionControl()
- Specified by:
getTransactionControl in interface CompositeTransaction- Overrides:
getTransactionControl in class AbstractCompositeTransaction
- See Also:
CompositeTransaction.
getLocalSubTxCount
public int getLocalSubTxCount()
- Specified by:
getLocalSubTxCount in interface CompositeTransaction- Specified by:
getLocalSubTxCount in interface TransactionControl- Overrides:
getLocalSubTxCount in class AbstractCompositeTransaction
- See Also:
TransactionControl
setSerial
public void setSerial()
throws IllegalStateException,
SysException
- Specified by:
setSerial in interface CompositeTransaction- Specified by:
setSerial in interface TransactionControl- Overrides:
setSerial in class AbstractCompositeTransaction
- Throws:
IllegalStateException
SysException- See Also:
TransactionControl.
createSubTransaction
public CompositeTransaction createSubTransaction()
throws SysException,
IllegalStateException
- Specified by:
createSubTransaction in interface CompositeTransaction- Specified by:
createSubTransaction in interface TransactionControl- Overrides:
createSubTransaction in class AbstractCompositeTransaction
- Throws:
SysException
IllegalStateException- See Also:
TransactionControl.
addParticipant
public RecoveryCoordinator addParticipant(Participant participant)
throws SysException,
IllegalStateException
- Specified by:
addParticipant in interface CompositeTransaction- Overrides:
addParticipant in class AbstractCompositeTransaction
- Throws:
SysException
IllegalStateException- See Also:
CompositeTransaction
registerSynchronization
public void registerSynchronization(Synchronization sync)
throws IllegalStateException,
UnsupportedOperationException,
SysException
- Specified by:
registerSynchronization in interface CompositeTransaction- Overrides:
registerSynchronization in class AbstractCompositeTransaction
- Throws:
IllegalStateException
UnsupportedOperationException
SysException- See Also:
CompositeTransaction
addSubTxAwareParticipant
public void addSubTxAwareParticipant(SubTxAwareParticipant subtxaware)
throws SysException,
IllegalStateException
- Specified by:
addSubTxAwareParticipant in interface CompositeTransaction- Overrides:
addSubTxAwareParticipant in class AbstractCompositeTransaction
- Throws:
SysException
IllegalStateException- See Also:
CompositeTransaction
doRollback
protected void doRollback()
throws IllegalStateException,
SysException
- Throws:
IllegalStateException
SysException- See Also:
TransactionControl.
getCompositeCoordinator
public CompositeCoordinator getCompositeCoordinator()
throws SysException
- Specified by:
getCompositeCoordinator in interface CompositeTransaction- Overrides:
getCompositeCoordinator in class AbstractCompositeTransaction
- Throws:
SysException- See Also:
CompositeTransaction.
isLocal
public boolean isLocal()
- Specified by:
isLocal in interface CompositeTransaction- Overrides:
isLocal in class AbstractCompositeTransaction
- See Also:
CompositeTransaction.
getTerminator
public CompositeTerminator getTerminator()
- Specified by:
getTerminator in interface TransactionControl
- See Also:
TransactionControl.
doCommit
protected void doCommit()
throws SysException,
IllegalStateException,
RollbackException
- Successfully end the composite transaction. Marks it as inactive. Called
by Terminator implementation only! NOTE: this does NOT commit the
participants, but rather only marks the (sub)transaction as being
ELIGIBLE FOR PREPARE IN 2PC.
- Throws:
IllegalStateException - If no longer active.
SysException - Unexpected failure.
RollbackException
getTimeout
public long getTimeout()
- Specified by:
getTimeout in interface CompositeTransaction- Specified by:
getTimeout in interface TransactionControl- Overrides:
getTimeout in class AbstractCompositeTransaction
- See Also:
TransactionControl
getExtent
public Extent getExtent()
- Specified by:
getExtent in interface CompositeTransaction- Specified by:
getExtent in interface TransactionControl- Overrides:
getExtent in class AbstractCompositeTransaction
- See Also:
TransactionControl.
setRollbackOnly
public void setRollbackOnly()
- Specified by:
setRollbackOnly in interface CompositeTransaction- Specified by:
setRollbackOnly in interface TransactionControl- Overrides:
setRollbackOnly in class AbstractCompositeTransaction
- See Also:
TransactionControl.
commit
public void commit()
throws HeurRollbackException,
HeurMixedException,
HeurHazardException,
SysException,
SecurityException,
RollbackException
- Specified by:
commit in interface CompositeTransaction- Overrides:
commit in class AbstractCompositeTransaction
- Throws:
HeurRollbackException
HeurMixedException
HeurHazardException
SysException
SecurityException
RollbackException- See Also:
CompositeTransaction.commit()
rollback
public void rollback()
throws IllegalStateException,
SysException
- Specified by:
rollback in interface CompositeTransaction- Overrides:
rollback in class AbstractCompositeTransaction
- Throws:
IllegalStateException
SysException- See Also:
CompositeTransaction.rollback()
getState
public TxState getState()
- Specified by:
getState in interface Stateful<TxState>- Specified by:
getState in interface CompositeTransaction- Overrides:
getState in class AbstractCompositeTransaction
- See Also:
Stateful
entered
public void entered(FSMEnterEvent coordinatorTerminatedEvent)
- Specified by:
entered in interface FSMEnterListener
- See Also:
com.atomikos.finitestates.FSMEnterListener#preEnter(com.atomikos.finitestates.FSMEnterEvent)
Copyright © 2014. All Rights Reserved.