in config/src/main/java/org/apache/karaf/cellar/config/internal/osgi/Activator.java [66: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;
File storage = new File(getString("storage", System.getProperty("karaf.etc")));
LOGGER.debug("CELLAR CONFIG: init event handler");
configurationEventHandler = new ConfigurationEventHandler();
configurationEventHandler.setConfigurationAdmin(configurationAdmin);
configurationEventHandler.setGroupManager(groupManager);
configurationEventHandler.setClusterManager(clusterManager);
configurationEventHandler.setStorage(storage);
configurationEventHandler.init();
Hashtable props = new Hashtable();
props.put("managed", "true");
register(EventHandler.class, configurationEventHandler, props);
LOGGER.debug("CELLAR CONFIG: init local listener");
localConfigurationListener = new LocalConfigurationListener();
localConfigurationListener.setClusterManager(clusterManager);
localConfigurationListener.setGroupManager(groupManager);
localConfigurationListener.setConfigurationAdmin(configurationAdmin);
localConfigurationListener.setEventProducer(eventProducer);
localConfigurationListener.setStorage(storage);
localConfigurationListener.init();
register(ConfigurationListener.class, localConfigurationListener);
LOGGER.debug("CELLAR CONFIG: init synchronizer");
configurationSynchronizer = new ConfigurationSynchronizer();
configurationSynchronizer.setConfigurationAdmin(configurationAdmin);
configurationSynchronizer.setGroupManager(groupManager);
configurationSynchronizer.setClusterManager(clusterManager);
configurationSynchronizer.setEventProducer(eventProducer);
configurationSynchronizer.setStorage(storage);
configurationSynchronizer.init(bundleContext);
props = new Hashtable();
props.put("resource", "config");
register(Synchronizer.class, configurationSynchronizer, props);
LOGGER.debug("CELLAR CONFIG: register MBean");
CellarConfigMBeanImpl cellarConfigMBean = new CellarConfigMBeanImpl();
cellarConfigMBean.setClusterManager(clusterManager);
cellarConfigMBean.setGroupManager(groupManager);
cellarConfigMBean.setConfigurationAdmin(configurationAdmin);
cellarConfigMBean.setEventProducer(eventProducer);
props = new Hashtable();
props.put("jmx.objectname", "org.apache.karaf.cellar:type=config,name=" + System.getProperty("karaf.name"));
cellarConfigMBeanRegistration = bundleContext.registerService(getInterfaceNames(cellarConfigMBean), cellarConfigMBean, props);
}