@ManagedOperation(description="Notifies all Tag cache listeners (status confirmation). Refresh supervision status after this call!") public void notifyAllTagCacheListeners(){
  LOGGER.info("Recovery task: notifying all tag listeners.");
  for (  Long key : controlTagCache.getKeys()) {
    controlTagCache.acquireWriteLockOnKey(key);
    try {
      ControlTag controlTag=controlTagCache.getCopy(key);
      long eventTime=System.currentTimeMillis();
      controlTagCache.notifyListenerStatusConfirmation(controlTag,eventTime);
    }
  finally {
      controlTagCache.releaseWriteLockOnKey(key);
    }
  }
  for (  Long key : dataTagCache.getKeys()) {
    dataTagCache.acquireWriteLockOnKey(key);
    try {
      DataTag dataTag=dataTagCache.getCopy(key);
      long eventTime=System.currentTimeMillis();
      dataTagCache.notifyListenerStatusConfirmation(dataTag,eventTime);
    }
  finally {
      dataTagCache.releaseWriteLockOnKey(key);
    }
  }
  LOGGER.info("Recovery task: finished notifying all tag listeners.");
}

@ ManagedOperation ( description = "Notifies all Tag cache listeners (status confirmation). Refresh supervision status after this call!" ) public void notifyAllTagCacheListeners ( ) { LOGGER . info ( "Recovery task: notifying all tag listeners." ) ; for ( Long key : controlTagCache . getKeys ( ) ) { controlTagCache . acquireWriteLockOnKey ( key ) ; try { ControlTag controlTag = controlTagCache . getCopy ( key ) ; long eventTime = System . currentTimeMillis ( ) ; controlTagCache . notifyListenerStatusConfirmation ( controlTag , eventTime ) ; } finally { controlTagCache . releaseWriteLockOnKey ( key ) ; } } for ( Long key : dataTagCache . getKeys ( ) ) { dataTagCache . acquireWriteLockOnKey ( key ) ; try { DataTag dataTag = dataTagCache . getCopy ( key ) ; long eventTime = System . currentTimeMillis ( ) ; dataTagCache . notifyListenerStatusConfirmation ( dataTag , eventTime ) ; } finally { dataTagCache . releaseWriteLockOnKey ( key ) ; } } LOGGER . info ( "Recovery task: finished notifying all tag listeners." ) ; }
notifies all tag cache listeners with the confirmstatus notification , so that all listeners receive up to date notifications ( notice alarm cache listeners are notified as these are all re - evaluated , both via tag and supervision status notification ; the ruletag cache is also left out here , as all rules are refreshes through datatag and controltag status confirmations ) .
