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

Nested Class Summary
static class MapReadonlyAlphaTransaction.Factory
           
 
Field Summary
 
Fields inherited from class org.multiverse.stms.AbstractTransaction
config
 
Fields inherited from interface org.multiverse.MultiverseConstants
___SANITY_CHECKS_ENABLED
 
Constructor Summary
MapReadonlyAlphaTransaction(ReadonlyConfiguration config)
           
 
Method Summary
protected  void attach(AlphaTranlocal tranlocal)
           
protected  void doClear()
           
protected  boolean dodoRegisterRetryLatch(org.multiverse.api.latches.Latch latch, long wakeupVersion)
           
protected  AlphaTranlocal findAttached(AlphaTransactionalObject txObject)
           
 
Methods inherited from class org.multiverse.stms.alpha.transactions.readonly.AbstractReadonlyAlphaTransaction
createLoadUncommittedException, doOpenForCommutingWrite, doOpenForConstruction, doOpenForRead, doOpenForWrite
 
Methods inherited from class org.multiverse.stms.alpha.transactions.AbstractAlphaTransaction
doRegisterRetryLatch, load, openForCommutingWrite, openForConstruction, openForRead, openForWrite
 
Methods inherited from class org.multiverse.stms.AbstractTransaction
abort, commit, doAbortActive, doAbortPrepared, doInit, doPrepare, endOr, endOrAndStartElse, getAttempt, getConfiguration, getReadVersion, getRemainingTimeoutNs, getSnapshot, getStatus, init, makeChangesPermanent, prepare, registerLifecycleListener, registerRetryLatch, restart, setAttempt, setRemainingTimeoutNs, 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, prepare, registerLifecycleListener, registerRetryLatch, restart, setAttempt, setRemainingTimeoutNs
 

Constructor Detail

MapReadonlyAlphaTransaction

public MapReadonlyAlphaTransaction(ReadonlyConfiguration config)
Method Detail

doClear

protected void doClear()
Overrides:
doClear 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.