question: @ 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." ) ; }
target:  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).