in log/src/main/java/org/apache/karaf/cellar/log/internal/osgi/Activator.java [60:135]
public void doStart() throws Exception {
LOGGER.debug("CELLAR LOG: retrieve cluster manager service");
ClusterManager clusterManager = getTrackedService(ClusterManager.class);
if (clusterManager == null) {
return;
}
LOGGER.debug("CELLAR LOG: retrieve producer service");
EventProducer producer = getTrackedService(EventProducer.class);
if (producer == null) {
return;
}
LOGGER.debug("CELLAR LOG: retrieve command store service");
CommandStore commandStore = getTrackedService(CommandStore.class);
if (commandStore == null) {
return;
}
LOGGER.debug("CELLAR LOG: retrieve execution context service");
ExecutionContext executionContext = getTrackedService(ExecutionContext.class);
if (executionContext == null) {
return;
}
LOGGER.debug("CELLAR LOG: retrieve configuration admin service");
ConfigurationAdmin configurationAdmin = getTrackedService(ConfigurationAdmin.class);
if (configurationAdmin == null) {
return;
}
LOGGER.debug("CELLAR LOG: retrieve log service");
LogService logService = getTrackedService(LogService.class);
if (logService == null) {
return;
}
LOGGER.debug("CELLAR LOG: init PaxAppender");
LogAppender paxAppender = new LogAppender();
paxAppender.setClusterManager(clusterManager);
Hashtable props = new Hashtable();
props.put("org.ops4j.pax.logging.appender.name", "CellarLogAppender");
register(PaxAppender.class, paxAppender, props);
LOGGER.debug("CELLAR LOG: register get log command handler");
GetLogCommandHandler getLogCommandHandler = new GetLogCommandHandler();
getLogCommandHandler.setProducer(producer);
getLogCommandHandler.setConfigurationAdmin(configurationAdmin);
getLogCommandHandler.setLogService(logService);
register(EventHandler.class, getLogCommandHandler);
LOGGER.debug("CELLAR LOG: register get log result handler");
GetLogResultHandler getLogResultHandler = new GetLogResultHandler();
getLogResultHandler.setCommandStore(commandStore);
register(EventHandler.class, getLogResultHandler);
LOGGER.debug("CELLAR LOG: register set log command handler");
SetLogCommandHandler setLogCommandHandler = new SetLogCommandHandler();
setLogCommandHandler.setProducer(producer);
setLogCommandHandler.setConfigurationAdmin(configurationAdmin);
setLogCommandHandler.setLogService(logService);
register(EventHandler.class, setLogCommandHandler);
LOGGER.debug("CELLAR LOG: register set log result handler");
SetLogResultHandler setLogResultHandler = new SetLogResultHandler();
setLogResultHandler.setCommandStore(commandStore);
register(EventHandler.class, setLogResultHandler);
LOGGER.debug("CELLAR LOG: register MBean");
CellarLogMBeanImpl mbean = new CellarLogMBeanImpl();
mbean.setClusterManager(clusterManager);
mbean.setExecutionContext(executionContext);
props = new Hashtable();
props.put("jmx.objectname", "org.apache.karaf.cellar:type=log,name=" + System.getProperty("karaf.name"));
mbeanRegistration = bundleContext.registerService(getInterfaceNames(mbean), mbean, props);
}