Enumeration modules = _recoveryModules.elements();
while (modules.hasMoreElements())
{
RecoveryModule m = (RecoveryModule) modules.nextElement();
m.periodicWorkFirstPass();
if (tsLogger.arjLogger.isDebugEnabled())
{
tsLogger.arjLogger.debug( DebugLevel.FUNCTIONS,
VisibilityLevel.VIS_PUBLIC,
FacilityCode.FAC_CRASH_RECOVERY,
" " );
}
}
if (interrupted)
{
interrupted = false;
_workerService.signalDone();
}
// wait for a bit to avoid catching (too many) transactions etc. that
// are really progressing quite happily
try
{
Thread.sleep( _backoffPeriod * 1000 );
}
catch ( InterruptedException ie )
{
interrupted = true;
}
if ( _terminate )
{
return true;
}
tsLogger.arjLogger.info("Periodic recovery - second pass <"+
_theTimestamper.format(new Date()) + ">" );
modules = _recoveryModules.elements();
while (modules.hasMoreElements())
{
RecoveryModule m = (RecoveryModule) modules.nextElement();
m.periodicWorkSecondPass();
if (tsLogger.arjLogger.isDebugEnabled())
{
tsLogger.arjLogger.debug ( DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC, FacilityCode.FAC_CRASH_RECOVERY, " " );
}