Пример #1
0
        public CommitPollingClient2(
            IPersistence persistStreams,
            ICommitEnhancer enhancer,
            String id,
            ILogger logger,
            INStoreLoggerFactory factory)
        {
            if (persistStreams == null)
            {
                throw new ArgumentNullException(nameof(persistStreams));
            }

            if (enhancer == null)
            {
                throw new ArgumentNullException(nameof(enhancer));
            }

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _enhancer    = enhancer;
            _consumers   = new List <ITargetBlock <IChunk> >();
            _logger      = logger;
            _id          = id;
            Status       = CommitPollingClientStatus.Stopped;
            _persistence = persistStreams;
            _factory     = factory;

            _logger.InfoFormat("Created Commit Polling client id: {0}", id);
        }
Пример #2
0
        private void Configure()
        {
            Serilog.Log.Logger = new LoggerConfiguration()
                                 .Enrich.FromLogContext()
                                 .Enrich.WithCaller()
                                 .WriteTo.Console(outputTemplate:
                                                  "[{Timestamp:HH:mm:ss} {SourceContext:l} {Level:u3}]{NewLine}{Message:lj}{NewLine}at {Caller}{NewLine}{Exception}{NewLine}")
                                 .MinimumLevel.Verbose()
                                 .CreateLogger();

            var serviceCollection = new ServiceCollection();

            serviceCollection.AddLogging(configure =>
                                         configure.AddSerilog()
                                         );

            // add domain
            serviceCollection.AddTransient <ShoppingCart>();

            _serviceProvider = serviceCollection.BuildServiceProvider();

            _loggerFactory = new LoggerFactoryAdapter(
                _serviceProvider.GetRequiredService <ILoggerFactory>()
                );
            Logger = _serviceProvider.GetService <ILogger <TutorialRuntime> >();
        }
Пример #3
0
 public LiteDBPersistenceOptions(
     ILiteDBPayloadSerializer serializer,
     INStoreLoggerFactory loggerFactory,
     BsonMapper mapper = null
     )
 {
     PayloadSerializer     = serializer ?? throw new ArgumentNullException(nameof(serializer));
     LoggerFactory         = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
     this.Mapper           = mapper;
     StreamsCollectionName = "streams";
 }
        /// <summary>
        /// Create a poller for nstore.
        /// </summary>
        /// <param name="store"></param>
        /// <param name="lastPosition"></param>
        /// <param name="positionToStartSequencing">All holes in the stream under this id should not be sequenced
        /// because are commit of the past (atomic reamodels does not have rebuilds)</param>
        /// <param name="subscription"></param>
        /// <param name="inStoreLoggerFactory"></param>
        public AtomicProjectionNstorePoller(
            IPersistence store,
            long lastPosition,
            long positionToStartSequencing,
            ISubscription subscription,
            INStoreLoggerFactory inStoreLoggerFactory)
        {
            this._logger = inStoreLoggerFactory.CreateLogger(GetType().FullName);

            _sequencer = new Sequencer(lastPosition, positionToStartSequencing, subscription, _logger);
            _store     = store;
            PollingIntervalMilliseconds = 200;
            HoleDetectionTimeout        = 2000;
        }
Пример #5
0
        public static async Task <IPersistence> CreateSqlServerAsync(
            string connectionString,
            string tablename,
            INStoreLoggerFactory loggerFactory)
        {
            var options = new MsSqlPersistenceOptions(loggerFactory)
            {
                ConnectionString = connectionString,
                StreamsTableName = tablename,
                Serializer       = new JsonMsSqlSerializer()
            };
            var persistence = new MsSqlPersistence(options);

            await persistence.DestroyAllAsync(CancellationToken.None);

            await persistence.InitAsync(CancellationToken.None);

            return(persistence);
        }
Пример #6
0
        public AtomicProjectionEngine(
            IPersistence persistence,
            ICommitEnhancer commitEnhancer,
            AtomicProjectionCheckpointManager atomicProjectionCheckpointManager,
            IAtomicReadmodelProjectorHelperFactory atomicReadmodelProjectorHelperFactory,
            INStoreLoggerFactory nStoreLoggerFactory)
        {
            Logger = NullLogger.Instance;
            _atomicProjectionCheckpointManager = atomicProjectionCheckpointManager;
            _persistence    = persistence;
            _commitEnhancer = commitEnhancer;
            _atomicReadmodelProjectorHelperFactory = atomicReadmodelProjectorHelperFactory;
            _lastPositionDispatched = _atomicProjectionCheckpointManager.GetLastPositionDispatched();
            _nStoreLoggerFactory    = nStoreLoggerFactory;
            FlushTimeSpan           = TimeSpan.FromSeconds(30); //flush checkpoint on db each 10 seconds.

            Logger.Info("Created Atomic Projection Engine");
            MaximumDifferenceForCatchupPoller = 20000;

            Metrics.HealthChecks.RegisterHealthCheck("AtomicProjectionEngine", (Func <Metrics.HealthCheckResult>)GetHealthCheck);
        }
Пример #7
0
 public LogDecorator(IPersistence persistence, INStoreLoggerFactory inStoreLoggerFactory)
 {
     _persistence = persistence;
     _logger      = inStoreLoggerFactory.CreateLogger("Persistence");
 }
Пример #8
0
 public MsSqlPersistenceOptions(INStoreLoggerFactory loggerFactory)
 {
     LoggerFactory    = loggerFactory;
     StreamsTableName = "Streams";
 }
 public EventStoreFactoryTest(INStoreLoggerFactory loggerFactory)
 {
     _loggerFactory = loggerFactory;
 }
Пример #10
0
 public MsSqlPersistenceOptions(INStoreLoggerFactory loggerFactory) : base(loggerFactory)
 {
 }
 public AsyncContextMsSqlPersistenceOptions(INStoreLoggerFactory loggerFactory) : base((INStoreLoggerFactory)loggerFactory)
 {
 }
 protected BaseSqlPersistenceOptions(INStoreLoggerFactory loggerFactory)
 {
     LoggerFactory    = loggerFactory;
     StreamsTableName = "Streams";
 }
Пример #13
0
 public LogDecorator(IPersistence persistence, INStoreLoggerFactory inStoreLoggerFactory, string categoryName = "Persistence")
 {
     _persistence = persistence;
     _logger      = inStoreLoggerFactory.CreateLogger(categoryName);
 }