Bundle Dependencies

This book explains how to use SAT's support for observing the runtime dependencies between installed bundles. SAT already tracks bundle dependencies, and since this information has proven to be useful for both understanding and debugging an OSGi application, a variety of ways to query and view this information has been provided.

The org.eclipse.soda.sat.core bundle registers a service called BundleDependencyService that provides an API that supports querying bundle relationships. The information provided by the BundleDependencyService can be accessed in the following ways:

  1. An Eclipse view that shows the bundle dependencies. The view uses HTTP to contact the target, on which the bundle org.eclipse.soda.sat.dependency.servlet must be installed. The view supports changing target host and port, as well as polling the target for changes in bundle dependencies.
  2. Writing an OSGi bundle in the Java programming language that programmatically accesses the registered BundleDependencyService.
  3. Installing the bundle org.eclipse.soda.sat.dependency.servlet. This bundle requires that the target platform supports TCP/IP and for a bundle that registers the org.osgi.service.http.HttpService be installed.