public DefaultProcessingCommandHandler( IJsonSerializer jsonSerializer, IEventStore eventStore, IMemoryCache memoryCache, ICommandHandlerProvider commandHandlerProvider, ICommandAsyncHandlerProvider commandAsyncHandlerProvider, ITypeNameProvider typeNameProvider, IEventCommittingService eventService, IMessagePublisher <IApplicationMessage> applicationMessagePublisher, IMessagePublisher <IPublishableException> exceptionPublisher, IOHelper ioHelper, ILoggerFactory loggerFactory, ITimeProvider timeProvider) { _jsonSerializer = jsonSerializer; _eventStore = eventStore; _memoryCache = memoryCache; _commandHandlerProvider = commandHandlerProvider; _commandAsyncHandlerProvider = commandAsyncHandlerProvider; _typeNameProvider = typeNameProvider; _eventService = eventService; _applicationMessagePublisher = applicationMessagePublisher; _exceptionPublisher = exceptionPublisher; _ioHelper = ioHelper; _logger = loggerFactory.Create(GetType().FullName); _timeProvider = timeProvider; }
public DefaultMemoryCache(ITypeNameProvider typeNameProvider, IAggregateStorage aggregateStorage, ILoggerFactory loggerFactory) { _aggregateRootInfoDict = new ConcurrentDictionary <string, AggregateCacheInfo>(); _typeNameProvider = typeNameProvider; _aggregateStorage = aggregateStorage; _logger = loggerFactory.Create(GetType().FullName); }
public AggregateSnapshotter_Tests() { _aggregateSnapshotSaver = ObjectContainer.Resolve <IAggregateSnapshotSaver>(); _aggregateSnapshotStore = ObjectContainer.Resolve <IAggregateSnapshotStore>(); _aggregateSnapshotter = ObjectContainer.Resolve <IAggregateSnapshotter>(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); }
/// <summary>Default constructor. /// </summary> public MySqlCommandStore(OptionSetting optionSetting) { if (optionSetting != null) { _connectionString = optionSetting.GetOptionValue <string>("ConnectionString"); _tableName = optionSetting.GetOptionValue <string>("TableName"); _uniqueIndexName = optionSetting.GetOptionValue <string>("UniqueIndexName"); } else { var setting = ENodeConfiguration.Instance.Setting.DefaultDBConfigurationSetting; _connectionString = setting.ConnectionString; _tableName = setting.CommandTableName; _uniqueIndexName = setting.CommandTableCommandIdUniqueIndexName; } Ensure.NotNull(_connectionString, "_connectionString"); Ensure.NotNull(_tableName, "_tableName"); Ensure.NotNull(_uniqueIndexName, "_uniqueIndexName"); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _ioHelper = ObjectContainer.Resolve <IOHelper>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); }
public DefaultEventCommittingService( IJsonSerializer jsonSerializer, IScheduleService scheduleService, ITypeNameProvider typeNameProvider, IMemoryCache memoryCache, IAggregateRootFactory aggregateRootFactory, IAggregateStorage aggregateStorage, IEventStore eventStore, IMessagePublisher <DomainEventStreamMessage> domainEventPublisher, IOHelper ioHelper, ILoggerFactory loggerFactory) { _eventCommittingContextMailBoxList = new List <EventCommittingContextMailBox>(); _ioHelper = ioHelper; _jsonSerializer = jsonSerializer; _scheduleService = scheduleService; _typeNameProvider = typeNameProvider; _memoryCache = memoryCache; _aggregateRootFactory = aggregateRootFactory; _aggregateStorage = aggregateStorage; _eventStore = eventStore; _domainEventPublisher = domainEventPublisher; _logger = loggerFactory.Create(GetType().FullName); _eventMailboxCount = ENodeConfiguration.Instance.Setting.EventMailBoxCount; _batchSize = ENodeConfiguration.Instance.Setting.EventMailBoxPersistenceMaxBatchSize; for (var i = 0; i < _eventMailboxCount; i++) { _eventCommittingContextMailBoxList.Add(new EventCommittingContextMailBox(i, _batchSize, x => BatchPersistEventAsync(x, 0), _logger)); } }
public DefaultEventService( IJsonSerializer jsonSerializer, IScheduleService scheduleService, ITypeNameProvider typeNameProvider, IMemoryCache memoryCache, IAggregateRootFactory aggregateRootFactory, IAggregateStorage aggregateStorage, IEventStore eventStore, IMessagePublisher<DomainEventStreamMessage> domainEventPublisher, IOHelper ioHelper, ILoggerFactory loggerFactory) { _eventMailboxDict = new ConcurrentDictionary<string, EventMailBox>(); _ioHelper = ioHelper; _jsonSerializer = jsonSerializer; _scheduleService = scheduleService; _typeNameProvider = typeNameProvider; _memoryCache = memoryCache; _aggregateRootFactory = aggregateRootFactory; _aggregateStorage = aggregateStorage; _eventStore = eventStore; _domainEventPublisher = domainEventPublisher; _logger = loggerFactory.Create(GetType().FullName); _batchSize = ENodeConfiguration.Instance.Setting.EventMailBoxPersistenceMaxBatchSize; }
public DefaultEventService( IJsonSerializer jsonSerializer, IScheduleService scheduleService, ITypeNameProvider typeNameProvider, IMemoryCache memoryCache, IAggregateRootFactory aggregateRootFactory, IAggregateStorage aggregateStorage, IEventStore eventStore, IMessagePublisher <DomainEventStreamMessage> domainEventPublisher, IOHelper ioHelper, ILoggerFactory loggerFactory) { _mailboxDict = new ConcurrentDictionary <string, EventMailBox>(); _ioHelper = ioHelper; _jsonSerializer = jsonSerializer; _scheduleService = scheduleService; _typeNameProvider = typeNameProvider; _memoryCache = memoryCache; _aggregateRootFactory = aggregateRootFactory; _aggregateStorage = aggregateStorage; _eventStore = eventStore; _domainEventPublisher = domainEventPublisher; _logger = loggerFactory.Create(GetType().FullName); _batchSize = ENodeConfiguration.Instance.Setting.EventMailBoxPersistenceMaxBatchSize; _timeoutSeconds = ENodeConfiguration.Instance.Setting.AggregateRootMaxInactiveSeconds; _taskName = "CleanInactiveAggregates_" + DateTime.Now.Ticks + new Random().Next(10000); }
public MongoDbPublishedVersionStore_Tests() { var assemblies = new[] { Assembly.GetExecutingAssembly() }; var enode = ECommonConfiguration.Create() .UseAutofac() .RegisterCommonComponents() .UseLog4Net() .UseJsonNet() .CreateENode(new ConfigurationSetting()) .RegisterBusinessComponents(assemblies) .RegisterENodeComponents() .UseMongoDbPublishedVersionStore() .UseMongoDbAggregateSnapshotter(); enode.GetCommonConfiguration() .BuildContainer(); enode.InitializeBusinessAssemblies(assemblies) .InitializeMongoDbPublishedVersionStore(_mongoDbConfiguration) .InitializeMongoDbAggregateSnapshotter(_mongoDbConfiguration); _store = ObjectContainer.Resolve <IPublishedVersionStore>(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); }
/// <summary>Default constructor. /// </summary> public SqlServerCommandStore(OptionSetting optionSetting) { if (optionSetting != null) { _connectionString = optionSetting.GetOptionValue<string>("ConnectionString"); _tableName = optionSetting.GetOptionValue<string>("TableName"); _uniqueIndexName = optionSetting.GetOptionValue<string>("UniqueIndexName"); } else { var setting = ENodeConfiguration.Instance.Setting.DefaultDBConfigurationSetting; _connectionString = setting.ConnectionString; _tableName = setting.CommandTableName; _uniqueIndexName = setting.CommandTableCommandIdUniqueIndexName; } Ensure.NotNull(_connectionString, "_connectionString"); Ensure.NotNull(_tableName, "_tableName"); Ensure.NotNull(_uniqueIndexName, "_uniqueIndexName"); _jsonSerializer = ObjectContainer.Resolve<IJsonSerializer>(); _typeNameProvider = ObjectContainer.Resolve<ITypeNameProvider>(); _ioHelper = ObjectContainer.Resolve<IOHelper>(); _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName); }
public DefaultEventCommittingService( IJsonSerializer jsonSerializer, IScheduleService scheduleService, ITypeNameProvider typeNameProvider, IMemoryCache memoryCache, IAggregateRootFactory aggregateRootFactory, IAggregateStorage aggregateStorage, IEventStore eventStore, IMessagePublisher <DomainEventStreamMessage> domainEventPublisher, IOHelper ioHelper, ILoggerFactory loggerFactory) { _eventCommittingContextMailBoxList = new List <EventCommittingContextMailBox>(); _ioHelper = ioHelper; _jsonSerializer = jsonSerializer; _scheduleService = scheduleService; _typeNameProvider = typeNameProvider; _memoryCache = memoryCache; _aggregateRootFactory = aggregateRootFactory; _aggregateStorage = aggregateStorage; _eventStore = eventStore; _domainEventPublisher = domainEventPublisher; _logger = loggerFactory.Create(GetType().FullName); _eventMailboxCount = ENodeConfiguration.Instance.Setting.EventMailBoxCount; _batchSize = ENodeConfiguration.Instance.Setting.EventMailBoxPersistenceMaxBatchSize; _timeoutSeconds = ENodeConfiguration.Instance.Setting.AggregateRootMaxInactiveSeconds; _taskName = "CleanInactiveAggregates_" + DateTime.Now.Ticks + new Random().Next(10000); for (var i = 0; i < _eventMailboxCount; i++) { _eventCommittingContextMailBoxList.Add(new EventCommittingContextMailBox(i, _batchSize, BatchPersistEventCommittingContexts, _logger)); } }
public ApplicationMessageConsumer InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _messageDispatcher = ObjectContainer.Resolve <IMessageDispatcher>(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(nameof(ApplicationMessageConsumer)); return(this); }
public ApplicationMessageConsumer InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _processor = ObjectContainer.Resolve <IMessageProcessor <ProcessingApplicationMessage, IApplicationMessage> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); return(this); }
public DomainExceptionConsumer InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _messageDispatcher = ObjectContainer.Resolve <IMessageDispatcher>(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); return(this); }
public PublishableExceptionConsumer InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _publishableExceptionProcessor = ObjectContainer.Resolve <IMessageProcessor <ProcessingPublishableExceptionMessage, IPublishableException> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); return(this); }
public ApplicationMessagePublisher InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _messageTopicProvider = ObjectContainer.Resolve <ITopicProvider <IApplicationMessage> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _sendMessageService = new SendQueueMessageService(); return(this); }
public PublishableExceptionPublisher(ProducerSetting setting = null) { _producer = new Producer(setting); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _exceptionTopicProvider = ObjectContainer.Resolve <ITopicProvider <IPublishableException> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _sendMessageService = new SendQueueMessageService(); }
public DomainExceptionPublisher InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _exceptionTopicProvider = ObjectContainer.Resolve <ITopicProvider <IDomainException> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _sendMessageService = new SendQueueMessageService(); return(this); }
public ApplicationMessagePublisher(ProducerSetting setting = null) { _producer = new Producer(setting); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _messageTopicProvider = ObjectContainer.Resolve <ITopicProvider <IApplicationMessage> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _sendMessageService = new SendQueueMessageService(); }
public PublishableExceptionPublisher InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _exceptionTopicProvider = ObjectContainer.Resolve <ITopicProvider <IPublishableException> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); _sendMessageService = new SendQueueMessageService(); return(this); }
/// <summary>Gets the C# friendly name of a type, if any.</summary> /// <param name="type">The type.</param> /// <param name="provider">The provider.</param> /// <returns>The type name.</returns> /// <exception cref="ArgumentNullException"><paramref name="provider"/> is <see langword="null"/>.</exception> public static string GetFriendlyName(this Type source, ITypeNameProvider provider) { if (provider == null) { throw new ArgumentNullException("provider"); } return(provider.GetTypeName(source)); }
public DefaultMemoryCache(ITypeNameProvider typeNameProvider, IAggregateStorage aggregateStorage, IScheduleService scheduleService, ILoggerFactory loggerFactory) { _typeNameProvider = typeNameProvider; _aggregateStorage = aggregateStorage; _scheduleService = scheduleService; _logger = loggerFactory.Create(GetType().FullName); TimeoutSeconds = ENodeConfiguration.Instance.Setting.AggregateRootMaxInactiveSeconds; _scheduleService.StartTask("RemoveExpiredAggregates", RemoveExpiredAggregates, 1000, ENodeConfiguration.Instance.Setting.ScanExpiredAggregateIntervalMilliseconds); }
public CommandService InitializeENode() { _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _commandTopicProvider = ObjectContainer.Resolve <ITopicProvider <ICommand> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _sendMessageService = new SendQueueMessageService(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); return(this); }
/// <summary> /// 聚合仓储基类,用于快照获取和生成 /// </summary> /// <param name="eventStore"></param> /// <param name="typeNameProvider"></param> /// <param name="snapshotStore"></param> public DefaultAggregateSnapshotter( IEventStore eventStore, ITypeNameProvider typeNameProvider, IAggregateSnapshotStore snapshotStore) { _eventStore = eventStore; _typeNameProvider = typeNameProvider; _binaryFormatter = new BinaryFormatter(); _snapshotStore = snapshotStore; }
public ApplicationMessageConsumer(string groupName = null, ConsumerSetting setting = null) { _consumer = new Consumer(groupName ?? DefaultMessageConsumerGroup, setting ?? new ConsumerSetting { MessageHandleMode = MessageHandleMode.Sequential }); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _processor = ObjectContainer.Resolve <IMessageProcessor <ProcessingApplicationMessage, IApplicationMessage, bool> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); }
public CommandConsumer(string groupName = null, ConsumerSetting setting = null) { _consumer = new Consumer(groupName ?? DefaultCommandConsumerGroup, setting); _sendReplyService = new SendReplyService(); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _processor = ObjectContainer.Resolve <IMessageProcessor <ProcessingCommand, ICommand, CommandResult> >(); _repository = ObjectContainer.Resolve <IRepository>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); }
public ApplicationMessageConsumer(string groupName = null, ConsumerSetting setting = null) { _consumer = new Consumer(groupName ?? DefaultMessageConsumerGroup, setting ?? new ConsumerSetting { MessageHandleMode = MessageHandleMode.Sequential }); _jsonSerializer = ObjectContainer.Resolve<IJsonSerializer>(); _processor = ObjectContainer.Resolve<IMessageProcessor<ProcessingApplicationMessage, IApplicationMessage, bool>>(); _typeNameProvider = ObjectContainer.Resolve<ITypeNameProvider>(); }
public DefaultMemoryCache(IScheduleService scheduleService, ITypeNameProvider typeNameProvider, IAggregateStorage aggregateStorage, ILoggerFactory loggerFactory) { _scheduleService = scheduleService; _aggregateRootInfoDict = new ConcurrentDictionary <string, AggregateCacheInfo>(); _typeNameProvider = typeNameProvider; _aggregateStorage = aggregateStorage; _logger = loggerFactory.Create(GetType().FullName); _timeoutSeconds = ENodeConfiguration.Instance.Setting.AggregateRootMaxInactiveSeconds; _taskName = "CleanInactiveAggregates_" + DateTime.Now.Ticks + new Random().Next(10000); }
public EventSourcingAggregateStorage( IAggregateRootFactory aggregateRootFactory, IEventStore eventStore, IAggregateSnapshotter aggregateSnapshotter, ITypeNameProvider typeNameProvider) { _aggregateRootFactory = aggregateRootFactory; _eventStore = eventStore; _aggregateSnapshotter = aggregateSnapshotter; _typeNameProvider = typeNameProvider; }
public PublishableExceptionConsumer(string groupName = null, ConsumerSetting setting = null) { _consumer = new Consumer(groupName ?? DefaultExceptionConsumerGroup, setting ?? new ConsumerSetting { MessageHandleMode = MessageHandleMode.Sequential, ConsumeFromWhere = ConsumeFromWhere.FirstOffset }); _jsonSerializer = ObjectContainer.Resolve<IJsonSerializer>(); _publishableExceptionProcessor = ObjectContainer.Resolve<IMessageProcessor<ProcessingPublishableExceptionMessage, IPublishableException, bool>>(); _typeNameProvider = ObjectContainer.Resolve<ITypeNameProvider>(); }
public PublishableExceptionConsumer(string groupName = null, ConsumerSetting setting = null) { _consumer = new Consumer(groupName ?? DefaultExceptionConsumerGroup, setting ?? new ConsumerSetting { MessageHandleMode = MessageHandleMode.Sequential, ConsumeFromWhere = ConsumeFromWhere.FirstOffset }); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _publishableExceptionProcessor = ObjectContainer.Resolve <IMessageProcessor <ProcessingPublishableExceptionMessage, IPublishableException, bool> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); }
public CommandConsumer InitializeENode() { _sendReplyService = new SendReplyService("CommandConsumerSendReplyService"); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _commandProcessor = ObjectContainer.Resolve <ICommandProcessor>(); _repository = ObjectContainer.Resolve <IRepository>(); _aggregateStorage = ObjectContainer.Resolve <IAggregateStorage>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); return(this); }
public ApplicationMessageConsumer(string groupName = null, ConsumerSetting setting = null) { _consumer = new Consumer(groupName ?? DefaultMessageConsumerGroup, setting ?? new ConsumerSetting { MessageHandleMode = MessageHandleMode.Sequential, ConsumeFromWhere = ConsumeFromWhere.FirstOffset }); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _processor = ObjectContainer.Resolve <IMessageProcessor <ProcessingApplicationMessage, IApplicationMessage> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); }
public CommandService(CommandResultProcessor commandResultProcessor = null, ProducerSetting setting = null) { _commandResultProcessor = commandResultProcessor; _producer = new Producer(setting); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _commandTopicProvider = ObjectContainer.Resolve <ITopicProvider <ICommand> >(); _typeNameProvider = ObjectContainer.Resolve <ITypeNameProvider>(); _commandRouteKeyProvider = ObjectContainer.Resolve <ICommandRoutingKeyProvider>(); _sendMessageService = new SendQueueMessageService(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); _ioHelper = ObjectContainer.Resolve <IOHelper>(); }
public MySqlAggregateSnapshotter( ISnapshotRepository snapshotRepository, IAggregateSnapshotSerializer aggregateSnapshotSerializer, ILoggerFactory loggerFactory, ITypeNameProvider typeNameProvider ) { _snapshotRepository = snapshotRepository; _aggregateSnapshotSerializer = aggregateSnapshotSerializer; _logger = loggerFactory.Create(GetType().FullName); _typeNameProvider = typeNameProvider; }
public CommandService(CommandResultProcessor commandResultProcessor = null, ProducerSetting setting = null) { _commandResultProcessor = commandResultProcessor; _producer = new Producer(setting); _jsonSerializer = ObjectContainer.Resolve<IJsonSerializer>(); _commandTopicProvider = ObjectContainer.Resolve<ITopicProvider<ICommand>>(); _typeNameProvider = ObjectContainer.Resolve<ITypeNameProvider>(); _commandRouteKeyProvider = ObjectContainer.Resolve<ICommandRoutingKeyProvider>(); _sendMessageService = new SendQueueMessageService(); _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName); _ioHelper = ObjectContainer.Resolve<IOHelper>(); }
/// <summary>Default constructor. /// </summary> public SqlServerCommandStore(OptionSetting optionSetting) { Ensure.NotNull(optionSetting, "optionSetting"); _connectionString = optionSetting.GetOptionValue<string>("ConnectionString"); _tableName = optionSetting.GetOptionValue<string>("TableName"); _primaryKeyName = optionSetting.GetOptionValue<string>("PrimaryKeyName"); Ensure.NotNull(_connectionString, "_connectionString"); Ensure.NotNull(_tableName, "_tableName"); Ensure.NotNull(_primaryKeyName, "_primaryKeyName"); _jsonSerializer = ObjectContainer.Resolve<IJsonSerializer>(); _typeNameProvider = ObjectContainer.Resolve<ITypeNameProvider>(); _ioHelper = ObjectContainer.Resolve<IOHelper>(); _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName); }
public DefaultEventService( IJsonSerializer jsonSerializer, IScheduleService scheduleService, ITypeNameProvider typeNameProvider, IMemoryCache memoryCache, IAggregateRootFactory aggregateRootFactory, IAggregateStorage aggregateStorage, IEventStore eventStore, IMessagePublisher<DomainEventStreamMessage> domainEventPublisher, IOHelper ioHelper, ILoggerFactory loggerFactory) { var setting = ENodeConfiguration.Instance.Setting; _enableGroupCommit = setting.EnableGroupCommitEvent; _groupCommitInterval = setting.GroupCommitEventIntervalMilliseconds; _groupCommitMaxSize = setting.GroupCommitMaxSize; _ioHelper = ioHelper; Ensure.Positive(_groupCommitInterval, "_groupCommitInterval"); Ensure.Positive(_groupCommitMaxSize, "_groupCommitMaxSize"); _toCommitContextQueue = new ConcurrentQueue<EventCommittingContext>(); _successPersistedContextQueue = new BlockingCollection<IEnumerable<EventCommittingContext>>(); _failedPersistedContextQueue = new BlockingCollection<IEnumerable<EventCommittingContext>>(); _jsonSerializer = jsonSerializer; _scheduleService = scheduleService; _typeNameProvider = typeNameProvider; _memoryCache = memoryCache; _aggregateRootFactory = aggregateRootFactory; _aggregateStorage = aggregateStorage; _eventStore = eventStore; _domainEventPublisher = domainEventPublisher; _logger = loggerFactory.Create(GetType().FullName); _processSuccessPersistedEventsWorker = new Worker("ProcessSuccessPersistedEvents", ProcessSuccessPersistedEvents); _processFailedPersistedEventsWorker = new Worker("ProcessFailedPersistedEvents", ProcessFailedPersistedEvents); Start(); }
public DefaultEventService( IJsonSerializer jsonSerializer, IScheduleService scheduleService, ITypeNameProvider typeNameProvider, IMemoryCache memoryCache, IAggregateRootFactory aggregateRootFactory, IAggregateStorage aggregateStorage, IEventStore eventStore, IMessagePublisher<DomainEventStreamMessage> domainEventPublisher, IOHelper ioHelper, ILoggerFactory loggerFactory) { _ioHelper = ioHelper; _jsonSerializer = jsonSerializer; _scheduleService = scheduleService; _typeNameProvider = typeNameProvider; _memoryCache = memoryCache; _aggregateRootFactory = aggregateRootFactory; _aggregateStorage = aggregateStorage; _eventStore = eventStore; _domainEventPublisher = domainEventPublisher; _logger = loggerFactory.Create(GetType().FullName); }