protected void ConfigureProjectionEngine(Boolean dropCheckpoints = true) { if (Engine != null) { Engine.Stop(); } if (dropCheckpoints) { _checkpoints.Drop(); } _tracker = new ConcurrentCheckpointTracker(Database); _statusChecker = new ConcurrentCheckpointStatusChecker(Database); var tenantId = new TenantId("engine"); var config = new ProjectionEngineConfig() { Slots = new[] { "*" }, EventStoreConnectionString = _eventStoreConnectionString, TenantId = tenantId, BucketInfo = new List <BucketInfo>() { new BucketInfo() { Slots = new[] { "*" }, BufferSize = 10 } }, DelayedStartInMilliseconds = 1000, ForcedGcSecondsInterval = 0, EngineVersion = "v2", }; RebuildSettings.Init(OnShouldRebuild(), OnShouldUseNitro()); _rebuildContext = new RebuildContext(RebuildSettings.NitroMode); StorageFactory = new MongoStorageFactory(Database, _rebuildContext); Func <IPersistStreams, CommitPollingClient> pollingClientFactory = ps => new CommitPollingClient( ps, new CommitEnhancer(_identityConverter), OnGetPollingClientId(), NullLogger.Instance); Engine = new ProjectionEngine( pollingClientFactory, _tracker, BuildProjections().ToArray(), new NullHouseKeeper(), _rebuildContext, new NullNotifyCommitHandled(), config ); Engine.LoggerFactory = Substitute.For <ILoggerFactory>(); Engine.LoggerFactory.Create(Arg.Any <Type>()).Returns(NullLogger.Instance); OnStartPolling(); }
protected async Task ConfigureProjectionEngineAsync(Boolean dropCheckpoints = true) { Engine?.Stop(); if (dropCheckpoints) { _checkpoints.Drop(); } _tracker = new ConcurrentCheckpointTracker(Database); _statusChecker = new MongoDirectConcurrentCheckpointStatusChecker(Database); var tenantId = new TenantId("engine"); var config = new ProjectionEngineConfig() { Slots = new[] { "*" }, EventStoreConnectionString = _eventStoreConnectionString, TenantId = tenantId, BucketInfo = new List <BucketInfo>() { new BucketInfo() { Slots = new[] { "*" }, BufferSize = 10 } }, DelayedStartInMilliseconds = 0, ForcedGcSecondsInterval = 0, EngineVersion = "v2", }; RebuildSettings.Init(OnShouldRebuild(), OnShouldUseNitro()); var rebuildContext = new RebuildContext(RebuildSettings.NitroMode); StorageFactory = new MongoStorageFactory(Database, rebuildContext); Engine = new ProjectionEngine( _pollingClientFactory, Persistence, _tracker, BuildProjections().ToArray(), new NullHouseKeeper(), new NullNotifyCommitHandled(), config, NullLogger.Instance, NullLoggerThreadContextManager.Instance); Engine.LoggerFactory = Substitute.For <ILoggerFactory>(); Engine.LoggerFactory.Create(Arg.Any <Type>()).Returns(NullLogger.Instance); await OnStartPolling().ConfigureAwait(false); }
public ProjectionActorV2(ProjectionEngine projectionEngine) { _projectionEngine = projectionEngine; Become(Waiting); }