org.multiverse.stms.alpha.transactions.readonly
Class MapReadonlyAlphaTransaction

java.lang.Object
  extended by org.multiverse.stms.AbstractTransaction<C,S>
      extended by org.multiverse.stms.alpha.transactions.AbstractAlphaTransaction<ReadonlyConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>
          extended by org.multiverse.stms.alpha.transactions.readonly.AbstractReadonlyAlphaTransaction
              extended by org.multiverse.stms.alpha.transactions.readonly.MapReadonlyAlphaTransaction
All Implemented Interfaces:
org.multiverse.api.Transaction, org.multiverse.MultiverseConstants, AlphaTransaction

public final class MapReadonlyAlphaTransaction
extends AbstractReadonlyAlphaTransaction

A readonly AlphaTransaction that does do read tracking. The advantage is that once an transactionalobject has been opened, you wont getClassMetadata load errors. Another advantage is that is can participate in retries. A disadvantage is that it it costs extra memory (because of the reads that need to be tracked).

Author:
Peter Veentjer

Field Summary
 
Fields inherited from class org.multiverse.stms.AbstractTransaction
ABORTED, ACTIVE, COMMITTED, config, NEW, PREPARED, statusInt, timeoutNs, version
 
Fields inherited from interface org.multiverse.MultiverseConstants
___BUGSHAKER_ENABLED, ___TRACING_ENABLED
 
Constructor Summary
MapReadonlyAlphaTransaction(ReadonlyConfiguration config)
           
 
Method Summary
protected  void attach(AlphaTranlocal tranlocal)
           
protected  boolean dodoRegisterRetryLatch(org.multiverse.api.latches.Latch latch, long wakeupVersion)
           
protected  void doReset()
           
protected  AlphaTranlocal findAttached(AlphaTransactionalObject txObject)
           
 
Methods inherited from class org.multiverse.stms.alpha.transactions.readonly.AbstractReadonlyAlphaTransaction
doOpenForCommutingWrite, doOpenForConstruction, doOpenForRead, doOpenForWrite
 
Methods inherited from class org.multiverse.stms.alpha.transactions.AbstractAlphaTransaction
createUncommittedException, doRegisterRetryLatch, load, openForCommutingWrite, openForConstruction, openForRead, openForWrite
 
Methods inherited from class org.multiverse.stms.AbstractTransaction
abort, commit, doAbortActive, doAbortPrepared, doPrepare, doStart, endOr, endOrAndStartElse, getAttempt, getConfiguration, getReadVersion, getRemainingTimeoutNs, getSnapshot, getStatus, getStm, getTransactionFactory, makeChangesPermanent, prepare, registerLifecycleListener, registerRetryLatch, reset, setAttempt, setRemainingTimeoutNs, start, startOr, storeSnapshot, takeSnapshot
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.multiverse.api.Transaction
abort, commit, getAttempt, getConfiguration, getReadVersion, getRemainingTimeoutNs, getStatus, getStm, getTransactionFactory, prepare, registerLifecycleListener, registerRetryLatch, reset, setAttempt, setRemainingTimeoutNs, start
 

Constructor Detail

MapReadonlyAlphaTransaction

public MapReadonlyAlphaTransaction(ReadonlyConfiguration config)
Method Detail

doReset

protected void doReset()
Overrides:
doReset in class org.multiverse.stms.AbstractTransaction<ReadonlyConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>

findAttached

protected AlphaTranlocal findAttached(AlphaTransactionalObject txObject)
Specified by:
findAttached in class AbstractReadonlyAlphaTransaction

attach

protected void attach(AlphaTranlocal tranlocal)
Specified by:
attach in class AbstractReadonlyAlphaTransaction

dodoRegisterRetryLatch

protected boolean dodoRegisterRetryLatch(org.multiverse.api.latches.Latch latch,
                                         long wakeupVersion)
Specified by:
dodoRegisterRetryLatch in class AbstractAlphaTransaction<ReadonlyConfiguration,org.multiverse.stms.AbstractTransactionSnapshot>


Copyright © 2008-2010 Multiverse. All Rights Reserved.