@ManagedOperation(description="Notifies all Alarm cache listeners (status confirmation).") public void notifyAllAlarmCacheListeners(){
  LOGGER.info("Recovery task: notifying all alarm cache listeners (cache persistence to DB, re-publication to clients, publication to LASER if not already done)");
  for (  Long key : alarmCache.getKeys()) {
    alarmCache.acquireWriteLockOnKey(key);
    try {
      Alarm alarm=alarmCache.getCopy(key);
      long eventTime=System.currentTimeMillis();
      alarmCache.notifyListenerStatusConfirmation(alarm,eventTime);
    }
  finally {
      alarmCache.releaseWriteLockOnKey(key);
    }
  }
  LOGGER.info("Recovery task: finished notifying all alarm cache listeners.");
}

@ ManagedOperation ( description = "Notifies all Alarm cache listeners (status confirmation)." ) public void notifyAllAlarmCacheListeners ( ) { LOGGER . info ( "Recovery task: notifying all alarm cache listeners (cache persistence to DB, re-publication to clients, publication to LASER if not already done)" ) ; for ( Long key : alarmCache . getKeys ( ) ) { alarmCache . acquireWriteLockOnKey ( key ) ; try { Alarm alarm = alarmCache . getCopy ( key ) ; long eventTime = System . currentTimeMillis ( ) ; alarmCache . notifyListenerStatusConfirmation ( alarm , eventTime ) ; } finally { alarmCache . releaseWriteLockOnKey ( key ) ; } } LOGGER . info ( "Recovery task: finished notifying all alarm cache listeners." ) ; }
notifies all alarm cache listeners using the status confirmation call . this will re - persist all the cache to the cache db account ( timpro ) ; re - publish all alarm values to the c2mon clients ; publish unpublished alarms to laser ( these should normally be picked up by the publication - check thread in any case ) . < p > notice that the alarm cache incorporates the current supervision status , unlike the tag caches , so it is not necessary to refresh the supervision status after this call .
