public LiveAtomicReadModelProcessor( IAtomicReadModelFactory atomicReadModelFactory, ICommitEnhancer commitEnhancer, IPersistence persistence) { _commitEnhancer = commitEnhancer; _persistence = persistence; _atomicReadModelFactory = atomicReadModelFactory; }
public AtomicReadModelSignatureFixer( IAtomicReadModelFactory atomicReadModelFactory, IAtomicCollectionWrapperFactory atomicMongoCollectionWrapperFactory, ILiveAtomicReadModelProcessor liveAtomicReadModelProcessor) { _atomicMongoCollectionWrapperFactory = atomicMongoCollectionWrapperFactory; _liveAtomicReadModelProcessor = liveAtomicReadModelProcessor ?? throw new ArgumentNullException(nameof(liveAtomicReadModelProcessor)); _atomicReadModelFactory = atomicReadModelFactory; _executors = new List <IFixExecutor>(); Logger = NullLogger.Instance; }
public AtomicProjectionMetricsConfigurer( IProjectionTargetCheckpointLoader checkPointLoader, IAtomicReadModelFactory readModelFactory, AtomicProjectionCheckpointManager atomicProjectionCheckpointManager, AtomicReadModelVersionLoader versionLoader) { _checkPointLoader = checkPointLoader; _atomicProjectionCheckpointManager = atomicProjectionCheckpointManager; _versionLoader = versionLoader; _readModelFactory = readModelFactory; }
public AtomicReadmodelProjectorHelper( IAtomicCollectionWrapper <TModel> atomicCollectionWrapper, IAtomicReadModelFactory atomicReadModelFactory, ILiveAtomicReadModelProcessor liveAtomicReadModelProcessor, ILogger logger) { _atomicCollectionWrapper = atomicCollectionWrapper; _atomicReadmodelInfoAttribute = AtomicReadmodelInfoAttribute.GetFrom(typeof(TModel)); _logger = logger; _atomicReadModelFactory = atomicReadModelFactory; _liveAtomicReadModelProcessor = liveAtomicReadModelProcessor; }
#pragma warning disable S1144 // Unused private types or members should be removed public ActionExecutor( IAtomicReadModelFactory atomicReadModelFactory, IAtomicCollectionWrapperFactory atomicCollectionWrapperFactory, ILiveAtomicReadModelProcessor liveAtomicReadModelProcessor, ILogger logger) { if (atomicCollectionWrapperFactory == null) { throw new ArgumentNullException(nameof(atomicCollectionWrapperFactory)); } _collection = atomicCollectionWrapperFactory.CreateCollectionWrappper <T>(); _liveAtomicReadModelProcessor = liveAtomicReadModelProcessor ?? throw new ArgumentNullException(nameof(liveAtomicReadModelProcessor)); _logger = logger; _atomicReadModelFactory = atomicReadModelFactory; }
public AtomicMongoCollectionWrapper( IMongoDatabase readmodelDb, IAtomicReadModelFactory atomicReadModelFactory, ILiveAtomicReadModelProcessor liveAtomicReadModelProcessor) { _liveAtomicReadModelProcessor = liveAtomicReadModelProcessor; var collectionName = CollectionNames.GetCollectionName <TModel>(); _collection = readmodelDb.GetCollection <TModel>(collectionName); Logger = NullLogger.Instance; //Auto create the basic index you need _collection.Indexes.CreateOne( new CreateIndexModel <TModel>( Builders <TModel> .IndexKeys .Ascending(_ => _.ProjectedPosition), new CreateIndexOptions() { Name = "ProjectedPosition", Background = false } ) ); _collection.Indexes.CreateOne( new CreateIndexModel <TModel>( Builders <TModel> .IndexKeys .Ascending(_ => _.ReadModelVersion), new CreateIndexOptions() { Name = "ReadModelVersion", Background = false } ) ); _actualVersion = atomicReadModelFactory.GetReamdodelVersion(typeof(TModel)); }