in taverna-osgi-launcher/src/main/java/org/apache/taverna/osgilauncher/OsgiLauncher.java [133:170]
public void start() throws BundleException {
logger.info("Loading the OSGi Framework Factory");
FrameworkFactory frameworkFactory = ServiceLoader.load(FrameworkFactory.class).iterator()
.next();
logger.info("Creating the OSGi Framework");
framework = frameworkFactory.newFramework(frameworkConfiguration);
logger.info("Starting the OSGi Framework");
framework.start();
context = framework.getBundleContext();
context.addServiceListener(new ServiceListener() {
public void serviceChanged(ServiceEvent event) {
ServiceReference serviceReference = event.getServiceReference();
if (event.getType() == ServiceEvent.REGISTERED) {
Object property = serviceReference
.getProperty("org.springframework.context.service.name");
if (property != null) {
addStartedSpringContext(property.toString());
}
}
logger.fine((event.getType() == ServiceEvent.REGISTERED ? "Registering : "
: "Unregistering : ") + serviceReference);
}
});
installedBundles = installBundles(bundlesToInstall);
List<Bundle> bundlesToStart = new ArrayList<Bundle>();
for (Bundle bundle : installedBundles) {
if ("org.springframework.osgi.extender".equals(bundle.getSymbolicName())) {
springOsgiExtender = bundle;
} else {
bundlesToStart.add(bundle);
}
}
startBundles(bundlesToStart);
}