}
try
{
// Read events from all sources
ReadEventCycleSummary summary = readEventsFromAllSources(_sinceSCN.get());
// Find the new max SCN across all sources and update _sinceSCN
long newSinceSCN = Math.max(summary.getEndOfWindowScn(), _sinceSCN.get());
_sinceSCN.set(newSinceSCN);
// Friendly log messages
if (_eventsLog.isDebugEnabled() || (_eventsLog.isInfoEnabled() && summary.getTotalEventNum() >0))
{
_eventsLog.info(summary.toString());
}
if (_status.getRetriesNum() > 0) _status.resume();
_status.getRetriesCounter().reset();
// Sleep until the next cycle