@Override
public void init() throws Exception {
try {
ServiceLogger.MDCput("SERVER", "main");
final InetAddress localhost = InetAddress.getLocalHost();
ServiceLogger.MDCput("HOST", localhost.getHostName());
} catch (Throwable e) {
}
final DiscoveryRegistry registry = new DiscoveryRegistry();
try {
LocalMBeanServer.get().registerMBean(new ManagedMBean(registry), getDiscoveryRegistryObjectName());
} catch (Throwable e) {
logger.error("Failed to register 'openejb' MBean", e);
}
SystemInstance.get().setComponent(DiscoveryRegistry.class, registry);
final Map<String, Properties> availableServices = this.serviceFinder.mapAvailableServices(ServerService.class);
final List<ServerService> enabledServers = initServers(availableServices);
daemons = enabledServers.toArray(new ServerService[enabledServers.size()]);
stopped = false;
}