//Create the composite (log4j+SystemOut MessageLogger to be used during startup
RootMessageLogger[] messageLoggers = {new SystemOutMessageLogger(), _rootMessageLogger};
CompositeStartupMessageLogger startupMessageLogger = new CompositeStartupMessageLogger(messageLoggers);
BrokerActor actor = new BrokerActor(startupMessageLogger);
CurrentActor.set(actor);
CurrentActor.setDefault(actor);
GenericActor.setDefaultMessageLogger(_rootMessageLogger);
try
{
logStartupMessages(CurrentActor.get());
_taskExecutor = new TaskExecutor();
_taskExecutor.start();
RecovererProvider provider = new DefaultRecovererProvider((StatisticsGatherer)this, _virtualHostRegistry, _logRecorder, _rootMessageLogger, _taskExecutor, brokerOptions);
ConfiguredObjectRecoverer<? extends ConfiguredObject> brokerRecoverer = provider.getRecoverer(Broker.class.getSimpleName());
_broker = (Broker) brokerRecoverer.create(provider, _store.getRootEntry());
_virtualHostRegistry.setDefaultVirtualHostName((String)_broker.getAttribute(Broker.DEFAULT_VIRTUAL_HOST));
initialiseStatisticsReporting();
// starting the broker
_broker.setDesiredState(State.INITIALISING, State.ACTIVE);
CurrentActor.get().message(BrokerMessages.READY());
}
finally
{
CurrentActor.remove();
}
CurrentActor.setDefault(new BrokerActor(_rootMessageLogger));
}