in bundle/src/main/java/org/apache/karaf/cellar/bundle/internal/osgi/Activator.java [62:125]
public void doStart() throws Exception {
ClusterManager clusterManager = getTrackedService(ClusterManager.class);
if (clusterManager == null)
return;
GroupManager groupManager = getTrackedService(GroupManager.class);
if (groupManager == null)
return;
ConfigurationAdmin configurationAdmin = getTrackedService(ConfigurationAdmin.class);
if (configurationAdmin == null)
return;
EventProducer eventProducer = getTrackedService(EventProducer.class);
if (eventProducer == null)
return;
FeaturesService featuresService = getTrackedService(FeaturesService.class);
if (featuresService == null)
return;
LOGGER.debug("CELLAR BUNDLE: init even handler");
eventHandler = new BundleEventHandler();
eventHandler.setConfigurationAdmin(configurationAdmin);
eventHandler.setClusterManager(clusterManager);
eventHandler.setGroupManager(groupManager);
eventHandler.setBundleContext(bundleContext);
eventHandler.setFeaturesService(featuresService);
eventHandler.init();
Hashtable props = new Hashtable();
props.put("managed", "true");
register(EventHandler.class, eventHandler, props);
LOGGER.debug("CELLAR BUNDLE: init local listener");
localBundleListener = new LocalBundleListener();
localBundleListener.setClusterManager(clusterManager);
localBundleListener.setGroupManager(groupManager);
localBundleListener.setConfigurationAdmin(configurationAdmin);
localBundleListener.setEventProducer(eventProducer);
localBundleListener.setFeaturesService(featuresService);
localBundleListener.setBundleContext(bundleContext);
localBundleListener.init();
LOGGER.debug("CELLAR BUNDLE: init synchronizer");
synchronizer = new BundleSynchronizer();
synchronizer.setConfigurationAdmin(configurationAdmin);
synchronizer.setGroupManager(groupManager);
synchronizer.setClusterManager(clusterManager);
synchronizer.setBundleContext(bundleContext);
synchronizer.setEventProducer(eventProducer);
synchronizer.init(bundleContext);
props = new Hashtable();
props.put("resource", "bundle");
register(Synchronizer.class, synchronizer, props);
LOGGER.debug("CELLAR BUNDLE: register MBean");
CellarBundleMBeanImpl mbean = new CellarBundleMBeanImpl();
mbean.setClusterManager(clusterManager);
mbean.setConfigurationAdmin(configurationAdmin);
mbean.setGroupManager(groupManager);
mbean.setEventProducer(eventProducer);
mbean.setBundleContext(bundleContext);
props = new Hashtable();
props.put("jmx.objectname", "org.apache.karaf.cellar:type=bundle,name=" + System.getProperty("karaf.name"));
mbeanRegistration = bundleContext.registerService(getInterfaceNames(mbean), mbean, props);
}