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(org.osgi.framework.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,
SynchronousBundleListener
s are synchronously called during
bundle lifecycle processing. The bundle lifecycle processing will not proceed
until all SynchronousBundleListener
s have completed.
SynchronousBundleListener
objects will be called prior to
BundleListener
objects.
AdminPermission[bundle,LISTENER]
is required to add or remove a
SynchronousBundleListener
object.
BundleEvent
bundleChanged
Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.