public IServiceBus Start() { if (Started) { throw new ApplicationException(ESBResources.ServiceBusInstanceAlreadyStarted); } GuardAgainstInvalidConfiguration(); // cannot be in startup pipeline as some modules may need to observe the startup pipeline foreach (var module in Configuration.Modules) { module.Initialize(this); } var startupPipeline = new StartupPipeline(this); Events.OnPipelineCreated(this, new PipelineEventArgs(startupPipeline)); startupPipeline.Execute(); _inboxThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("InboxThreadPool"); _controlThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("ControlInboxThreadPool"); _outboxThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("OutboxThreadPool"); _deferredMessageThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("DeferredMessageThreadPool"); _started = true; return(this); }
public IServiceBus Start() { if (Started) { throw new ApplicationException(Resources.ServiceBusInstanceAlreadyStarted); } ConfigurationInvariant(); var startupPipeline = _pipelineFactory.GetPipeline <StartupPipeline>(); Started = true; // required for using ServiceBus in OnStarted event try { startupPipeline.Execute(); _inboxThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("InboxThreadPool"); _controlThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("ControlInboxThreadPool"); _outboxThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("OutboxThreadPool"); _deferredMessageThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("DeferredMessageThreadPool"); } catch { Started = false; throw; } return(this); }
public IServiceBus Start() { if (Started) { throw new ApplicationException(ESBResources.ServiceBusInstanceAlreadyStarted); } GuardAgainstInvalidConfiguration(); foreach (var module in Configuration.Modules) { module.Initialize(this); } var startupPipeline = new StartupPipeline(this); Events.OnPipelineCreated(this, new PipelineEventArgs(startupPipeline)); startupPipeline.Execute(); inboxThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("InboxThreadPool"); controlThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("ControlInboxThreadPool"); outboxThreadPool = startupPipeline.State.Get <IProcessorThreadPool>("OutboxThreadPool"); started = true; return(this); }
public IEventProcessor Start() { if (Started) { return(this); } foreach (var projectionAggregation in _projectionAggregations.Values) { projectionAggregation.AddEventTypes(); } _cancellationTokenSource = new CancellationTokenSource(); _cancellationToken = _cancellationTokenSource.Token; _processorThreadPool = new ProcessorThreadPool( "ControlInboxProcessor", _configuration.ProjectionThreadCount, new ProjectionProcessorFactory(_configuration, _pipelineFactory, this)).Start(); _sequenceNumberTailThread.Start(); _started = true; return(this); }
public IEventProcessor Start() { if (Started) { return(this); } _processorThreadPool = new ProcessorThreadPool( "ControlInboxProcessor", _configuration.ProjectionThreadCount, new ProjectionProcessorFactory(_configuration, _pipelineFactory, this)).Start(); _started = true; _sequenceNumberTailThread.Start(); return(this); }
public IServiceBus Start() { if (Started) { throw new ApplicationException(ESBResources.ServiceBusInstanceAlreadyStarted); } GuardAgainstInvalidConfiguration(); foreach (var module in Configuration.Modules) { module.Initialize(this); } var startupPipeline = new StartupPipeline(this); Events.OnPipelineCreated(this, new PipelineEventArgs(startupPipeline)); startupPipeline.Execute(); inboxThreadPool = startupPipeline.State.Get<IProcessorThreadPool>("InboxThreadPool"); controlThreadPool = startupPipeline.State.Get<IProcessorThreadPool>("ControlInboxThreadPool"); outboxThreadPool = startupPipeline.State.Get<IProcessorThreadPool>("OutboxThreadPool"); deferredMessageThreadPool = startupPipeline.State.Get<IProcessorThreadPool>("DeferredMessageThreadPool"); started = true; return this; }