public EPStage GetStage(string stageUri) { if (stageUri == null) { throw new ArgumentException("Stage-URI is null"); } RuntimeDestroyedCheck(); lock (_stages) { EPStageImpl stage = _stages.Get(stageUri); if (stage != null) { return(stage); } int stageId = _services.StageRecoveryService.StageAdd(stageUri); stage = AllocateStage(stageUri, stageId, _services.SchedulingService.Time); _stages.Put(stageUri, stage); ISet <EventType> filterServiceTypes = new LinkedHashSet <EventType>(_services.EventTypeRepositoryBus.AllTypes); Supplier <ICollection <EventType> > availableTypes = () => filterServiceTypes; stage.StageSpecificServices.FilterServiceSPI.Init(availableTypes); stage.StageSpecificServices.SchedulingServiceSPI.Init(); return(stage); } }
public void RecoverStage( string stageURI, int stageId, long stageCurrentTime) { EPStageImpl stage = AllocateStage(stageURI, stageId, stageCurrentTime); _stages.Put(stageURI, stage); }