|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfr.dyade.aaa.util.AbstractTransaction
fr.dyade.aaa.util.NTransaction
public final class NTransaction
The NTransaction class implements a transactional storage. For efficiency it uses a file for its transaction journal, the final storage is provided through the Repository interface on filesystem or database.
Be Careful, the configuration properties don't work for the transaction component: these properties are saved in the transaction repository so they can not be used to configure it.
Transaction
,
Repository
,
FileRepository
,
DBRepository
,
MySqlDBRepository
Nested Class Summary | |
---|---|
private class |
NTransaction.GarbageTask
|
(package private) static class |
NTransaction.LogFile
|
Nested classes/interfaces inherited from class fr.dyade.aaa.util.AbstractTransaction |
---|
AbstractTransaction.Context |
Field Summary | |
---|---|
(package private) static boolean |
debug
|
(package private) java.io.File |
dir
|
(package private) NTransaction.LogFile |
logFile
|
(package private) static int |
LogMemoryCapacity
Global in memory log initial capacity, by default 4096. |
private static org.objectweb.util.monolog.api.Logger |
logmon
|
(package private) static int |
LogThresholdOperation
Number of pooled operation, by default 1000. |
(package private) static int |
MaxLogFileSize
Size of disk log in Mb, by default 16Mb. |
(package private) static int |
MaxLogMemorySize
Maximum size of memory log, by default 2048Kb. |
(package private) Repository |
repository
|
(package private) java.lang.String |
repositoryImpl
The Repository classname implementation. |
(package private) long |
startTime
|
private NTransaction.GarbageTask |
task
|
private java.util.Timer |
timer
|
Fields inherited from class fr.dyade.aaa.util.AbstractTransaction |
---|
OOS_STREAM_HEADER, perThreadContext, phase |
Fields inherited from interface fr.dyade.aaa.util.Transaction |
---|
COMMIT, FINALIZE, FREE, GARBAGE, INIT, Kb, Mb, PhaseInfo, ROLLBACK, RUN |
Constructor Summary | |
---|---|
NTransaction()
|
Method Summary | |
---|---|
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. |
void |
garbage()
Garbage the log file. |
void |
garbageAsync(boolean async)
Sets asynchronous garbage. |
int |
getCommitCount()
Returns the number of commit operation since starting up. |
private byte[] |
getFromLog(java.util.Hashtable log,
java.lang.Object key)
|
private byte[] |
getFromLog(java.lang.String dirName,
java.lang.String name)
|
int |
getGarbageCount()
Returns the number of garbage operation since starting up. |
int |
getGarbageDelay()
Returns the maximum time between two garbages, 0 if disable. |
int |
getGarbageRatio()
Returns the ratio of garbage operations since starting up. |
long |
getGarbageTime()
Returns the cumulated time of garbage operations since starting up. |
java.lang.String[] |
getList(java.lang.String prefix)
Returns an array of strings naming the persistent objects denoted by a name that satisfy the specified prefix. |
int |
getLogFileSize()
Returns the size of disk log in Kb. |
int |
getLogMemoryCapacity()
Returns the initial capacity of global in memory log (by default 4096). |
int |
getLogMemorySize()
Returns the size of memory log in bytes. |
int |
getLogThresholdOperation()
Returns the pool size for operation objects, by default 1000. |
int |
getMaxLogFileSize()
Returns the maximum size of disk log in Mb, by default 16Mb. |
int |
getMaxLogMemorySize()
Returns the maximum size of memory log in Kb, by default 2048Kb. |
int |
getNbBadDeletedObjects()
Returns the number of useless delete operation on repository. |
int |
getNbDeletedObjects()
Returns the number of delete operation on repository. |
int |
getNbLoadedObjects()
Returns the number of load operation from repository. |
int |
getNbSavedObjects()
Returns the number of save operation to repository. |
java.lang.String |
getPersistenceDir()
Returns the path of persistence directory. |
java.lang.String |
getRepositoryImpl()
Returns the Repository classname implementation. |
long |
getStartTime()
Returns the starting time. |
void |
init(java.lang.String path)
Initializes the atomic storage component. |
boolean |
isGarbageRunning()
Returns the status of the garbage thread. |
boolean |
isPersistent()
Tests if the Transaction component is persistent. |
byte[] |
loadByteArray(java.lang.String dirName,
java.lang.String name)
Load the specified byte array. |
static void |
main(java.lang.String[] args)
|
protected void |
saveInLog(byte[] buf,
java.lang.String dirName,
java.lang.String name,
java.util.Hashtable log,
boolean copy,
boolean first)
Save an object state already serialized. |
void |
setGarbageDelay(int timeout)
Sets the maximum time between two garbages, 0 to disable the asynchronous garbage mechanism. |
void |
setMaxLogFileSize(int size)
Sets the maximum size of disk log in Mb. |
void |
setMaxLogMemorySize(int size)
Sets the maximum size of memory log in Kb. |
protected void |
setPhase(int newPhase)
Changes the transaction state. |
void |
stop()
Stops the transaction module. |
java.lang.String |
toString()
Returns a string representation for this object. |
Methods inherited from class fr.dyade.aaa.util.AbstractTransaction |
---|
begin, create, create, createByteArray, createByteArray, delete, getPhase, getPhaseInfo, load, load, loadByteArray, release, save, save, save, saveByteArray, saveByteArray, saveByteArray |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface fr.dyade.aaa.util.NTransactionMBean |
---|
getPhase, getPhaseInfo |
Field Detail |
---|
private static org.objectweb.util.monolog.api.Logger logmon
static int LogMemoryCapacity
NTLogMemoryCapacity
specific property.
This property can be fixed only from java
launching
command, or through System.property method.
static int MaxLogMemorySize
NTLogMemorySize
specific property.
This property can be fixed only from java
launching
command, or through System.property method.
static int MaxLogFileSize
NTLogFileSize
specific property.
This property can be fixed only from java
launching
command, or through System.property method.
static int LogThresholdOperation
NTLogThresholdOperation
specific property.
This property can be fixed only from java
launching
command, or through System.property method.
private java.util.Timer timer
private NTransaction.GarbageTask task
long startTime
java.lang.String repositoryImpl
NTRepositoryImpl
specific property. By default its value
is "fr.dyade.aaa.util.FileRepository".
This property can be fixed only from java
launching
command, or through System.property method.
java.io.File dir
NTransaction.LogFile logFile
Repository repository
static final boolean debug
Constructor Detail |
---|
public NTransaction()
Method Detail |
---|
public final int getLogMemoryCapacity()
getLogMemoryCapacity
in interface NTransactionMBean
public final int getMaxLogMemorySize()
getMaxLogMemorySize
in interface NTransactionMBean
public final void setMaxLogMemorySize(int size)
setMaxLogMemorySize
in interface NTransactionMBean
size
- The maximum size of memory log in Kb.public final int getLogMemorySize()
getLogMemorySize
in interface NTransactionMBean
public final int getMaxLogFileSize()
getMaxLogFileSize
in interface NTransactionMBean
public final void setMaxLogFileSize(int size)
setMaxLogFileSize
in interface NTransactionMBean
size
- The maximum size of disk log in Mb.public final int getLogFileSize()
getLogFileSize
in interface NTransactionMBean
public final int getLogThresholdOperation()
operation
objects, by default 1000.
getLogThresholdOperation
in interface NTransactionMBean
operation
objects.public final int getCommitCount()
getCommitCount
in interface NTransactionMBean
public final int getGarbageCount()
getGarbageCount
in interface NTransactionMBean
public final int getGarbageDelay()
getGarbageDelay
in interface NTransactionMBean
public final void setGarbageDelay(int timeout)
setGarbageDelay
in interface NTransactionMBean
timeout
- The maximum time between two garbages.public final boolean isGarbageRunning()
isGarbageRunning
in interface NTransactionMBean
public void garbageAsync(boolean async)
garbageAsync
in interface NTransactionMBean
async
- If true activates the asynchronous garbage,
deactivates otherwise.public long getStartTime()
getStartTime
in interface NTransactionMBean
public long getGarbageTime()
getGarbageTime
in interface NTransactionMBean
public int getGarbageRatio()
getGarbageRatio
in interface NTransactionMBean
public java.lang.String getRepositoryImpl()
getRepositoryImpl
in interface NTransactionMBean
public int getNbSavedObjects()
getNbSavedObjects
in interface NTransactionMBean
public int getNbDeletedObjects()
getNbDeletedObjects
in interface NTransactionMBean
public int getNbBadDeletedObjects()
getNbBadDeletedObjects
in interface NTransactionMBean
public int getNbLoadedObjects()
getNbLoadedObjects
in interface NTransactionMBean
public boolean isPersistent()
isPersistent
in interface Transaction
isPersistent
in interface TransactionMBean
public final void init(java.lang.String path) throws java.io.IOException
Transaction
init
in interface Transaction
java.io.IOException
public java.lang.String getPersistenceDir()
protected final void setPhase(int newPhase)
AbstractTransaction
setPhase
in class AbstractTransaction
newPhase
- the new transaction state.public java.lang.String[] getList(java.lang.String prefix)
getList
in interface Transaction
prefix
- the prefix
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
saveInLog
in class AbstractTransaction
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.
java.io.IOException
private final byte[] getFromLog(java.util.Hashtable log, java.lang.Object key) throws java.io.IOException
java.io.IOException
private final byte[] getFromLog(java.lang.String dirName, java.lang.String name) throws java.io.IOException
java.io.IOException
public byte[] loadByteArray(java.lang.String dirName, java.lang.String name) throws java.io.IOException
Transaction
loadByteArray
in interface Transaction
dirName
- the directory name of the object.name
- the name of the object.
java.io.IOException
public final void delete(java.lang.String dirName, java.lang.String name)
Transaction
delete
in interface Transaction
dirName
- the directory name of the object.name
- the name of the object.public final void commit(boolean release) throws java.io.IOException
Transaction
commit
in interface Transaction
release
- if true releases the transaction at the end of the commit.
java.io.IOException
public final void garbage()
garbage
in interface NTransactionMBean
public void stop()
stop
in interface Transaction
public void close()
close
in interface Transaction
public java.lang.String toString()
toString
in class java.lang.Object
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |