Package org.apache.hadoop.service
Class ServiceOperations.ServiceListeners
java.lang.Object
org.apache.hadoop.service.ServiceOperations.ServiceListeners
- Enclosing class:
- ServiceOperations
Class to manage a list of
ServiceStateChangeListener instances,
including a notification loop that is robust against changes to the list
during the notification process.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidThread-safe addition of a new listener to the end of a list.voidnotifyListeners(Service service) Change to a new state and notify all listeners.booleanRemove any registration of a listener from the listener list.voidreset()Reset the listener list
-
Constructor Details
-
ServiceListeners
public ServiceListeners()
-
-
Method Details
-
add
Thread-safe addition of a new listener to the end of a list. Attempts to re-register a listener that is already registered will be ignored.- Parameters:
l- listener
-
remove
Remove any registration of a listener from the listener list.- Parameters:
l- listener- Returns:
- true if the listener was found (and then removed)
-
reset
public void reset()Reset the listener list -
notifyListeners
Change to a new state and notify all listeners. This method will block until all notifications have been issued. It caches the list of listeners before the notification begins, so additions or removal of listeners will not be visible.- Parameters:
service- the service that has changed state
-