Introduction
Eclipse uses an OSGi framework implementation called Equinox.
An OSGi application is built out of multiple bundles.
This query allows the bundles in a Eclipse program to be explored using a heap dump from that program.
Bundles (or plugins) allow different parts of a system to be isolated. Each has its own class loader
and interactions between bundles occurs using defined interfaces.
See Plug-ins and bundles
and Equinox Bundles.
Definitions
- Bundle
- The OSGi module.
- Bundle fragment
- A modification to the bundle supplied for purposes such as internationalization, providing
updates for particular languages or countries, or for particular platforms.
- hosted by
- The bundle which is modified by this fragment.
- Dependent
- A bundle which relies on this bundle.
- Dependency
- A bundle which is required by this bundle.
- Extension Point
- A way of extending the function of a bundle; other bundles may register an extension matching
an extension point and then bundles searching for implementations of the extension point
would find those extensions and could call them as appropriate.
See FAQ What are extensions and extension points?
- Extension
- An implementation of an extension point offered by a bundle.
- contributed by
- Which bundles provide an extension to satisfy an extension point definition.
- registered by
- Which bundle provided an extension point definition, or which bundle provided a service
definition.
- Service
- Similar to extensions and extension points, but an OSGi standard.
- Registered Service
- A service offered by this bundle which is available for other bundles to use.
- Used Service
- A service provided by other bundles which is needed by this bundle.
- Bundles Using
- Which bundles use this implementation of a service.
Bundle states
- Installed
- The bundle is installed, but is not yet resolved, perhaps due to missing dependencies.
- Resolved
- Links between the bundle and dependents and dependencies have been established and the bundle is ready to be started.
- Lazy starting
- The bundle is ready to start, for example when one of its classes is referenced by another bundle.
- Starting
- The bundle is starting.
- Active
- The bundle is running.
- Stopping
- The bundle is stopping.
- Uninstalled
- The bundle is no longer available for use.