clientFactory.init(this);
    public void init() throws JBIException {        if (containerInitialized.compareAndSet(false, true)) {            if (this.workManager == null) {                this.workManager = createWorkManager();                this.isWorkManagerCreated = true;            }            if (this.namingContext == null) {                try {                    this.namingContext = new InitialContext();                }                catch (NamingException e) {                    // Log a warning, with exception only in debug                    if (log.isDebugEnabled()) {                        log.warn("Failed to set InitialContext", e);                    } else {                        log.warn("Failed to set InitialContext");                    }                }            }            this.managementContext.init(this, getMBeanServer());            this.mbeanServer = this.managementContext.getMBeanServer();// just in case ManagementContext creates it            environmentContext.init(this, rootDir);            registry.init(this);            broker.init(this);                        installationService.init(this);            deploymentService.init(this);            autoDeployService.init(this);            adminCommandsService.init(this);            clientFactory.init(this);            // register self with the ManagementContext            try {                managementContext.registerMBean(ManagementContext.getContainerObjectName(managementContext.getJmxDomainName(), getName()),                                                 this, LifeCycleMBean.class);            } catch (JMException e) {                throw new JBIException(e);            }                        // Initialize listeners after the whole container has been initialized            // so that they can register themselves as JMX mbeans for example            if (configuredListeners != null) {                for (int i = 0; i < configuredListeners.length; i++) {                    EventListener listener = configuredListeners[i];                    addListener(listener);                }            }                        log.info("ServiceMix JBI Container (http://servicemix.org/) name: " + getName() + " running version: "                    + EnvironmentContext.getVersion());        }    }