Class ServiceOperations.ServiceListeners

java.lang.Object
org.apache.hadoop.service.ServiceOperations.ServiceListeners
Enclosing class:
ServiceOperations

public static class ServiceOperations.ServiceListeners extends Object
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 Details

    • ServiceListeners

      public ServiceListeners()
  • Method Details

    • add

      public void add(ServiceStateChangeListener l)
      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

      public boolean remove(ServiceStateChangeListener l)
      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

      public void notifyListeners(Service service)
      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