org.eclipse.gemini.blueprint.extender.internal.dependencies.shutdown
Interface ServiceDependencySorter

All Known Implementing Classes:
ComparatorServiceDependencySorter

public interface ServiceDependencySorter

SPI for sorting OSGi bundles based on their service dependency. Given a number of bundles, implementors of this interface will return a list referencing the bundles in the order in which they should be shutdown based on their OSGi service dependencies.

It is considered that bundle A depends on bundle B if A uses a service that belongs to a bundle which depends on B or is B itself. Note that bundles can depend on each other : A -> B -> A.

Thus implementations should 'sort' direct, circular graphs without any guarantee on the node used for start.

Author:
Costin Leau

Method Summary
 org.osgi.framework.Bundle[] computeServiceDependencyGraph(org.osgi.framework.Bundle[] bundles)
          Given a number of bundles, determine the dependency between each other and compute the dependency tree.
 

Method Detail

computeServiceDependencyGraph

org.osgi.framework.Bundle[] computeServiceDependencyGraph(org.osgi.framework.Bundle[] bundles)
Given a number of bundles, determine the dependency between each other and compute the dependency tree.

Parameters:
bundles - array of bundles
Returns:
an array of bundles, sorted out by their dependency.


Copyright © 2006-2012. All Rights Reserved.