org.objectweb.howl.log.xa
Class XALogger.XAReplayListener

java.lang.Object
  extended by org.objectweb.howl.log.xa.XALogger.XAReplayListener
All Implemented Interfaces:
ReplayListener
Enclosing class:
XALogger

private static class XALogger.XAReplayListener
extends Object
implements ReplayListener

private class used by XALogger.replay() methods. Used by replay(ReplayListener) and replay(ReplayListener, long) wrapper methods to intercept XACOMMIT and XACOMMITMOVED records so they can be passed to caller. During TM invoked replay, log records are returned to the caller, but the activeTx table is not updated.

Author:
Michael Giroux

Field Summary
(package private)  LogRecord lr
           
(package private)  ReplayListener tmListener
          ReplayListener registered by TM that instantiated this XALogger.
 
Constructor Summary
XALogger.XAReplayListener(ReplayListener tmListener)
           
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lr

final LogRecord lr

tmListener

final ReplayListener tmListener
ReplayListener registered by TM that instantiated this XALogger.

During replay, non-CTRL records are returned to the TM's replayListener.

Constructor Detail

XALogger.XAReplayListener

XALogger.XAReplayListener(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 interface ReplayListener
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 interface ReplayListener
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 interface ReplayListener
Returns:
LogRecord object to be used when calling onRecord()