@ConsumerType public interface SynchronousBundleListener extends BundleListener
BundleEvent listener. SynchronousBundleListener
is a listener interface that may be implemented by a bundle developer. When a
BundleEvent is fired, it is synchronously delivered to a
SynchronousBundleListener. The Framework may deliver
BundleEvent objects to a SynchronousBundleListener out of
order and may concurrently call and/or reenter a
SynchronousBundleListener.
For BundleEvent types STARTED and
LAZY_ACTIVATION, the Framework must not
hold the referenced bundle's "state change" lock when the
BundleEvent is delivered to a SynchronousBundleListener. For
the other BundleEvent types, the Framework must hold the referenced
bundle's "state change" lock when the BundleEvent is
delivered to a SynchronousBundleListener. A
SynchronousBundleListener cannot directly call life cycle methods on
the referenced bundle when the Framework is holding the referenced bundle's
"state change" lock.
A SynchronousBundleListener object is registered with the Framework
using the BundleContext.addBundleListener(BundleListener) method.
SynchronousBundleListener objects are called with a
BundleEvent object when a bundle has been installed, resolved,
starting, started, stopping, stopped, updated, unresolved, or uninstalled.
Unlike normal BundleListener objects,
SynchronousBundleListeners are synchronously called during bundle
lifecycle processing. The bundle lifecycle processing will not proceed until
all SynchronousBundleListeners have completed.
SynchronousBundleListener objects will be called prior to
BundleListener objects.
AdminPermission[bundle,LISTENER] is required to add or remove a
SynchronousBundleListener object.
BundleEventbundleChanged