public void Handle(ProjectionCoreServiceMessage.SubComponentStarted message) { if (_currentState != CoreCoordinatorState.Starting) { Log.Debug("PROJECTIONS: Projection Core Coordinator received SubComponent Started when not starting. " + "SubComponent: {subComponent}, InstanceCorrelationId: {correlationId}, CurrentState: {currentState}", message.SubComponent, message.InstanceCorrelationId, _currentState); return; } if (message.InstanceCorrelationId != _instanceCorrelationId) { Log.Debug("PROJECTIONS: Projection Core Coordinator received SubComponent Started for wrong correlation id. " + "SubComponent: {subComponent}, RequestedCorrelation: {requestedCorrelation}, InstanceCorrelationId: {correlationId}", message.SubComponent, message.InstanceCorrelationId, _instanceCorrelationId); return; } _pendingSubComponentsStarts--; _activeSubComponents++; Log.Debug("PROJECTIONS: SubComponent Started: {subComponent}", message.SubComponent); if (_pendingSubComponentsStarts == 0) { _publisher.Publish( new ProjectionSubsystemMessage.ComponentStarted(ComponentName, _instanceCorrelationId)); _currentState = CoreCoordinatorState.Started; } }
void IHandle <ProjectionCoreServiceMessage.SubComponentStarted> .Handle( ProjectionCoreServiceMessage.SubComponentStarted message) { _externalRequestQueue.Publish( new ProjectionCoreServiceMessage.SubComponentStarted(message.SubComponent, message.InstanceCorrelationId) ); }
public void Handle(ProjectionCoreServiceMessage.SubComponentStarted message) { _pendingSubComponentsStarts--; _activeSubComponents++; Log.Debug("PROJECTIONS: SubComponent Started: {subComponent}", message.SubComponent); if (_newInstanceWaiting) { StartWhenConditionsAreMet(); } }