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.HashMap
activeTxHashMap
Used to keep track of XACOMMIT records encountered during replay.int
commitCount
int
doneCount
(package private) LogRecord
lr
int
movedCount
(package private) XALogger
parent
(package private) LogException
replayException
(package private) ReplayListener
tmListener
ReplayListener registered by TM that instantiated this XALogger.int
unmatchedDoneCount
-
Constructor Summary
Constructors Constructor Description OpenReplayListener(ReplayListener tmListener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LogRecord
getLogRecord()
Called by Logger when ReplayListener is registered for replay.void
onError(LogException e)
Called by Logger when an exception is encountered during replay.void
onRecord(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:ReplayListener
Called 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:
onRecord
in interfaceReplayListener
- Parameters:
lr
- LogRecord to be processed
-
onError
public void onError(LogException e)
Description copied from interface:ReplayListener
Called by Logger when an exception is encountered during replay.- Specified by:
onError
in interfaceReplayListener
- Parameters:
e
- LogException object that was thrown when the error occurred.
-
getLogRecord
public LogRecord getLogRecord()
Description copied from interface:ReplayListener
Called 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:
getLogRecord
in interfaceReplayListener
- Returns:
- LogRecord object to be used when calling onRecord()
-
-