fr.dyade.aaa.util
Class ATransaction

java.lang.Object
  extended by fr.dyade.aaa.util.AbstractTransaction
      extended by fr.dyade.aaa.util.ATransaction
All Implemented Interfaces:
ATransactionMBean, Transaction, TransactionMBean, java.lang.Runnable

public final class ATransaction
extends AbstractTransaction
implements ATransactionMBean, java.lang.Runnable


Nested Class Summary
 
Nested classes/interfaces inherited from class fr.dyade.aaa.util.AbstractTransaction
AbstractTransaction.Context
 
Field Summary
protected  java.io.FileDescriptor logFD
           
protected  java.io.RandomAccessFile logFile
           
protected  java.io.File logFilePN
           
protected  java.io.File plogFilePN
           
 
Fields inherited from class fr.dyade.aaa.util.AbstractTransaction
dir, logmon, OOS_STREAM_HEADER, perThreadContext, phase, startTime
 
Fields inherited from interface fr.dyade.aaa.util.Transaction
COMMIT, FINALIZE, FREE, GARBAGE, INIT, Kb, Mb, PhaseInfo, ROLLBACK, RUN
 
Constructor Summary
ATransaction()
           
 
Method Summary
 void _stop()
           
 void close()
          Close the transaction module.
 void commit(boolean release)
          Commit the current transaction.
 void delete(java.lang.String dirName, java.lang.String name)
          Deletes the specified object.
 java.io.File getDir()
           
 java.lang.String[] getList(java.lang.String prefix)
          Returns an array of strings naming the objects in the component started by this prefix.
 void initRepository()
           
 boolean isPersistent()
          Tests if the Transaction component is persistent.
 byte[] loadByteArray(java.lang.String dirName, java.lang.String name)
          Load the specified byte array.
protected  void newLogFile()
           
 void release()
          Release the mutual exclusion.
 void rollback()
           
 void run()
           
protected  void saveInLog(byte[] buf, java.lang.String dirName, java.lang.String name, java.util.Hashtable log, boolean copy, boolean first)
          Register the specified object in transaction log.
protected  void setPhase(int newPhase)
          Changes the transaction state.
 void stop()
          Stops the transaction module.
protected  void syncLogFile()
           
 
Methods inherited from class fr.dyade.aaa.util.AbstractTransaction
begin, create, create, createByteArray, createByteArray, delete, getPhase, getPhaseInfo, getStartTime, init, load, load, loadByteArray, save, save, save, saveByteArray, saveByteArray, saveByteArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface fr.dyade.aaa.util.TransactionMBean
getPhase, getPhaseInfo, getStartTime
 

Field Detail

logFilePN

protected java.io.File logFilePN

plogFilePN

protected java.io.File plogFilePN

logFile

protected java.io.RandomAccessFile logFile

logFD

protected java.io.FileDescriptor logFD
Constructor Detail

ATransaction

public ATransaction()
Method Detail

isPersistent

public boolean isPersistent()
Description copied from interface: TransactionMBean
Tests if the Transaction component is persistent.

Specified by:
isPersistent in interface Transaction
Specified by:
isPersistent in interface TransactionMBean
Returns:
true if the component is persistent; false otherwise.

initRepository

public final void initRepository()
                          throws java.io.IOException
Specified by:
initRepository in class AbstractTransaction
Throws:
java.io.IOException

getDir

public final java.io.File getDir()

setPhase

protected final void setPhase(int newPhase)
Description copied from class: AbstractTransaction
Changes the transaction state.

Specified by:
setPhase in class AbstractTransaction
Parameters:
newPhase - the new transaction state.

getList

public final java.lang.String[] getList(java.lang.String prefix)
Description copied from interface: Transaction
Returns an array of strings naming the objects in the component started by this prefix.

Specified by:
getList in interface Transaction
Returns:
an array of strings naming the objects in the component started by this prefix.

saveInLog

protected final void saveInLog(byte[] buf,
                               java.lang.String dirName,
                               java.lang.String name,
                               java.util.Hashtable log,
                               boolean copy,
                               boolean first)
                        throws java.io.IOException
Description copied from class: AbstractTransaction
Register the specified object in transaction log.

Specified by:
saveInLog in class AbstractTransaction
Parameters:
buf - the byte array containing the state of the object.
dirName - the directory name of the object.
name - the name of the object.
log - the log to use.
copy - the byte array can be modified, copy it.
first - the object is a new one.
Throws:
java.io.IOException

loadByteArray

public final byte[] loadByteArray(java.lang.String dirName,
                                  java.lang.String name)
                           throws java.io.IOException
Description copied from interface: Transaction
Load the specified byte array.

Specified by:
loadByteArray in interface Transaction
Parameters:
dirName - the directory name of the object.
name - the name of the object.
Returns:
the loaded byte array.
Throws:
java.io.IOException

delete

public final void delete(java.lang.String dirName,
                         java.lang.String name)
Description copied from interface: Transaction
Deletes the specified object.

Specified by:
delete in interface Transaction
Parameters:
dirName - the directory name of the object.
name - the name of the object.

commit

public void commit(boolean release)
            throws java.io.IOException
Description copied from interface: Transaction
Commit the current transaction.

Specified by:
commit in interface Transaction
Parameters:
release - if true releases the transaction at the end of the commit.
Throws:
java.io.IOException

newLogFile

protected void newLogFile()
                   throws java.io.IOException
Throws:
java.io.IOException

syncLogFile

protected void syncLogFile()
                    throws java.io.IOException
Throws:
java.io.IOException

rollback

public final void rollback()

release

public final void release()
                   throws java.io.IOException
Description copied from class: AbstractTransaction
Release the mutual exclusion.

Specified by:
release in interface Transaction
Overrides:
release in class AbstractTransaction
Throws:
java.io.IOException
See Also:
Transaction.release()

_stop

public final void _stop()

stop

public final void stop()
Description copied from interface: Transaction
Stops the transaction module. It waits all transactions termination, then the module is kept in a FREE 'ready to use' state.

Specified by:
stop in interface Transaction

close

public void close()
Close the transaction module. It waits all transactions termination, the module will be initialized anew before reusing it.

Specified by:
close in interface Transaction

run

public void run()
Specified by:
run in interface java.lang.Runnable


Copyright © 2011 ScalAgent D.T.. All Rights Reserved.