Package org.objectweb.howl.log.xa
Class XALogger.OpenReplayListener
- java.lang.Object
-
- org.objectweb.howl.log.xa.XALogger.OpenReplayListener
-
- All Implemented Interfaces:
ReplayListener
- Enclosing class:
- XALogger
private class XALogger.OpenReplayListener extends java.lang.Object implements ReplayListener
private class used by XALogger to replay the log during log open processing.As log records are replayed through onRecord method, the HashMap activeTxHashMap is updated. XACOMMIT type records are added to the activeTxHashMap, and XADONE type records remove an entry.
When the END_OF_LOG record is encountered, the activeTx table is up to date and ready for new entries to be added by the TM.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.HashMapactiveTxHashMapUsed to keep track of XACOMMIT records encountered during replay.intcommitCountintdoneCount(package private) LogRecordlrintmovedCount(package private) XALoggerparent(package private) LogExceptionreplayException(package private) ReplayListenertmListenerReplayListener registered by TM that instantiated this XALogger.intunmatchedDoneCount
-
Constructor Summary
Constructors Constructor Description OpenReplayListener(ReplayListener tmListener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LogRecordgetLogRecord()Called by Logger when ReplayListener is registered for replay.voidonError(LogException e)Called by Logger when an exception is encountered during replay.voidonRecord(LogRecord lr)Called by Logger for each record retrieved from the log.
-
-
-
Field Detail
-
lr
LogRecord lr
-
parent
final XALogger parent
-
replayException
LogException replayException
-
tmListener
final ReplayListener tmListener
ReplayListener registered by TM that instantiated this XALogger.During replay, non-CTRL records are returned to the TM's replayListener.
-
activeTxHashMap
final java.util.HashMap activeTxHashMap
Used to keep track of XACOMMIT records encountered during replay. An entry is added to the activeTxHashMap when XACOMMIT type record is replayed, and removed when XADONE type record is replayed.
-
unmatchedDoneCount
public int unmatchedDoneCount
-
commitCount
public int commitCount
-
doneCount
public int doneCount
-
movedCount
public int movedCount
-
-
Constructor Detail
-
OpenReplayListener
OpenReplayListener(ReplayListener tmListener)
-
-
Method Detail
-
onRecord
public void onRecord(LogRecord lr)
Description copied from interface:ReplayListenerCalled by Logger for each record retrieved from the log.when the entire log has been processed, lr.type is set to LogRecordType.END_OF_LOG.
- Specified by:
onRecordin interfaceReplayListener- Parameters:
lr- LogRecord to be processed
-
onError
public void onError(LogException e)
Description copied from interface:ReplayListenerCalled by Logger when an exception is encountered during replay.- Specified by:
onErrorin interfaceReplayListener- Parameters:
e- LogException object that was thrown when the error occurred.
-
getLogRecord
public LogRecord getLogRecord()
Description copied from interface:ReplayListenerCalled by Logger when ReplayListener is registered for replay.The Logger calls getLogRecord to obtain a LogRecord instance to be used to process log records.
The same LogRecord instance is used to return all log records to the ReplayListener.
- Specified by:
getLogRecordin interfaceReplayListener- Returns:
- LogRecord object to be used when calling onRecord()
-
-