@Override public void start() throws MuleException { synchronized (lifecycleStateLock) { getLifecycleManager().checkPhase(Startable.PHASE_NAME); if (getQueueManager() == null) { throw new MuleRuntimeException(objectIsNull("queueManager")); } componentInitialStateManager = muleRegistryHelper.get(OBJECT_COMPONENT_INITIAL_STATE_MANAGER); startDate = System.currentTimeMillis(); startIfNeeded(extensionManager); fireNotification(new MuleContextNotification(this, CONTEXT_STARTING)); getLifecycleManager().fireLifecycle(Startable.PHASE_NAME); overridePollingController(); overrideClusterConfiguration(); startMessageSources(); fireNotification(new MuleContextNotification(this, CONTEXT_STARTED)); listeners.forEach(l -> l.onStart(this, getApiRegistry())); startLatch.release(); if (logger.isInfoEnabled()) { SplashScreen startupScreen = buildStartupSplash(); logger.info(startupScreen.toString()); } } }