ServiceListener
Date: 2016-06-24

org.osgi.framework

## Interface ServiceListener

- All Superinterfaces:
    java.util.EventListener
  All Known Subinterfaces:
    AllServiceListener, UnfilteredServiceListener

      @ConsumerType
      public interface ServiceListener
      extends java.util.EventListener

  A `ServiceEvent` listener. `ServiceListener` is a listener interface that may be implemented by a bundle developer. When a `ServiceEvent` is fired, it is synchronously delivered to a `ServiceListener`. The Framework may deliver `ServiceEvent` objects to a `ServiceListener` out of order and may concurrently call and/or reenter a `ServiceListener`.

  A `ServiceListener` object is registered with the Framework using the `BundleContext.addServiceListener` method. `ServiceListener` objects are called with a `ServiceEvent` object when a service is registered, modified, or is in the process of unregistering.

  `ServiceEvent` object delivery to `ServiceListener` objects is filtered by the filter specified when the listener was registered. If the Java Runtime Environment supports permissions, then additional filtering is done. `ServiceEvent` objects are only delivered to the listener if the bundle which defines the listener object's class has the appropriate `ServicePermission` to get the service using at least one of the named classes under which the service was registered.

  `ServiceEvent` object delivery to `ServiceListener` objects is further filtered according to package sources as defined in `ServiceReference.isAssignableTo(Bundle, String)`.

  See Also:
    `ServiceEvent`, `ServicePermission`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `serviceChanged(ServiceEvent event)` Receives notification that a service has had a lifecycle change.

- - ### Method Detail

    - #### serviceChanged

          void serviceChanged(ServiceEvent event)

      Receives notification that a service has had a lifecycle change.
      Parameters:
        `event` - The `ServiceEvent` object.