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>(); }
private void InitializeENode( bool useMockEventStore = false, bool useMockPublishedVersionStore = false, bool useMockDomainEventPublisher = false, bool useMockApplicationMessagePublisher = false, bool useMockDomainExceptionPublisher = false) { var connectionString = ConfigurationManager.AppSettings["connectionString"]; var assemblies = new[] { Assembly.GetExecutingAssembly() }; if (_serilogLoggerFactory == null) { _serilogLoggerFactory = new SerilogLoggerFactory(defaultLoggerFileName: "logs\\default") .AddFileLogger("ECommon", "logs\\ecommon") .AddFileLogger("EQueue", "logs\\equeue") .AddFileLogger("ENode", "logs\\enode"); } _enodeConfiguration = ECommonConfiguration .Create() .UseAutofac() .RegisterCommonComponents() .UseSerilog(_serilogLoggerFactory) .UseJsonNet() .RegisterUnhandledExceptionHandler() .CreateENode() .RegisterENodeComponents() .UseEventStore(useMockEventStore) .UsePublishedVersionStore(useMockPublishedVersionStore) .RegisterBusinessComponents(assemblies) .InitializeEQueue() .UseEQueue(useMockDomainEventPublisher, useMockApplicationMessagePublisher, useMockDomainExceptionPublisher) .BuildContainer(); if (!useMockEventStore) { _enodeConfiguration.InitializeSqlServerEventStore(connectionString); } if (!useMockPublishedVersionStore) { _enodeConfiguration.InitializeSqlServerPublishedVersionStore(connectionString); } _enodeConfiguration .InitializeBusinessAssemblies(assemblies) .StartEQueue() .Start(); _commandService = ObjectContainer.Resolve <ICommandService>(); _memoryCache = ObjectContainer.Resolve <IMemoryCache>(); _eventStore = ObjectContainer.Resolve <IEventStore>(); _publishedVersionStore = ObjectContainer.Resolve <IPublishedVersionStore>(); _domainEventPublisher = ObjectContainer.Resolve <IMessagePublisher <DomainEventStreamMessage> >(); _applicationMessagePublisher = ObjectContainer.Resolve <IMessagePublisher <IApplicationMessage> >(); _domainExceptionPublisher = ObjectContainer.Resolve <IMessagePublisher <IDomainException> >(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(typeof(BaseTest)); _logger.Info("----ENode initialized."); }
public ENodeKafkaTestBase() { _commandService = ObjectContainer.Resolve <ICommandService>(); _memoryCache = ObjectContainer.Resolve <IMemoryCache>(); _eventStore = ObjectContainer.Resolve <IEventStore>(); _publishedVersionStore = ObjectContainer.Resolve <IPublishedVersionStore>(); _domainEventPublisher = ObjectContainer.Resolve <IMessagePublisher <DomainEventStreamMessage> >(); _applicationMessagePublisher = ObjectContainer.Resolve <IMessagePublisher <IApplicationMessage> >(); _domainExceptionPublisher = ObjectContainer.Resolve <IMessagePublisher <IDomainException> >(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(nameof(ENodeKafkaTestBase)); _logger.Info("----ENode initialized."); }
private static void InitializeENode( bool useMockEventStore = false, bool useMockPublishedVersionStore = false, bool useMockDomainEventPublisher = false, bool useMockApplicationMessagePublisher = false, bool useMockPublishableExceptionPublisher = false) { var setting = new ConfigurationSetting(ConfigurationManager.AppSettings["connectionString"]); var assemblies = new[] { Assembly.GetExecutingAssembly() }; _enodeConfiguration = ECommonConfiguration .Create() .UseAutofac() .RegisterCommonComponents() .UseLog4Net() .UseJsonNet() .RegisterUnhandledExceptionHandler() .CreateENode(setting) .RegisterENodeComponents() .UseEventStore(useMockEventStore) .UsePublishedVersionStore(useMockPublishedVersionStore) .RegisterBusinessComponents(assemblies) .UseEQueue(useMockDomainEventPublisher, useMockApplicationMessagePublisher, useMockPublishableExceptionPublisher) .BuildContainer(); if (!useMockEventStore) { _enodeConfiguration.InitializeSqlServerEventStore(); } if (!useMockPublishedVersionStore) { _enodeConfiguration.InitializeSqlServerPublishedVersionStore(); } _enodeConfiguration .InitializeBusinessAssemblies(assemblies) .StartEQueue() .Start(); _commandService = ObjectContainer.Resolve <ICommandService>(); _memoryCache = ObjectContainer.Resolve <IMemoryCache>(); _eventStore = ObjectContainer.Resolve <IEventStore>(); _publishedVersionStore = ObjectContainer.Resolve <IPublishedVersionStore>(); _domainEventPublisher = ObjectContainer.Resolve <IMessagePublisher <DomainEventStreamMessage> >(); _applicationMessagePublisher = ObjectContainer.Resolve <IMessagePublisher <IApplicationMessage> >(); _publishableExceptionPublisher = ObjectContainer.Resolve <IMessagePublisher <IPublishableException> >(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(typeof(BaseTest)); _logger.Info("ENode initialized."); }
public DefaultProcessingEventProcessor(IPublishedVersionStore publishedVersionStore, IMessageDispatcher dispatcher, IOHelper ioHelper, ILoggerFactory loggerFactory, IScheduleService scheduleService) { _mailboxDict = new ConcurrentDictionary <string, ProcessingEventMailBox>(); _publishedVersionStore = publishedVersionStore; _dispatcher = dispatcher; _ioHelper = ioHelper; _logger = loggerFactory.Create(GetType().FullName); _scheduleService = scheduleService; _taskName = "CleanInactiveProcessingEventMailBoxes_" + DateTime.Now.Ticks + new Random().Next(10000); _timeoutSeconds = ENodeConfiguration.Instance.Setting.AggregateRootMaxInactiveSeconds; _processorName = ENodeConfiguration.Instance.Setting.DomainEventProcessorName; _scanExpiredAggregateIntervalMilliseconds = ENodeConfiguration.Instance.Setting.ScanExpiredAggregateIntervalMilliseconds; }
private static void InitializeENode( bool useMockCommandStore = false, bool useMockEventStore = false, bool useMockPublishedVersionStore = false, bool useMockDomainEventPublisher = false, bool useMockApplicationMessagePublisher = false, bool useMockPublishableExceptionPublisher = false) { var setting = new ConfigurationSetting(ConfigurationManager.AppSettings["connectionString"]); var assemblies = new[] { Assembly.GetExecutingAssembly() }; _enodeConfiguration = ECommonConfiguration .Create() .UseAutofac() .RegisterCommonComponents() .UseLog4Net() .UseJsonNet() .RegisterUnhandledExceptionHandler() .CreateENode(setting) .RegisterENodeComponents() .UseCommandStore(useMockCommandStore) .UseEventStore(useMockEventStore) .UsePublishedVersionStore(useMockPublishedVersionStore) .RegisterBusinessComponents(assemblies) .InitializeBusinessAssemblies(assemblies) .UseEQueue(useMockDomainEventPublisher, useMockApplicationMessagePublisher, useMockPublishableExceptionPublisher) .StartEQueue(); _commandService = ObjectContainer.Resolve<ICommandService>(); _memoryCache = ObjectContainer.Resolve<IMemoryCache>(); _commandStore = ObjectContainer.Resolve<ICommandStore>(); _eventStore = ObjectContainer.Resolve<IEventStore>(); _publishedVersionStore = ObjectContainer.Resolve<IPublishedVersionStore>(); _domainEventPublisher = ObjectContainer.Resolve<IMessagePublisher<DomainEventStreamMessage>>(); _applicationMessagePublisher = ObjectContainer.Resolve<IMessagePublisher<IApplicationMessage>>(); _publishableExceptionPublisher = ObjectContainer.Resolve<IMessagePublisher<IPublishableException>>(); _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(typeof(BaseTest)); _logger.Info("ENode initialized."); }
public DomainEventStreamMessageHandler(IPublishedVersionStore publishedVersionStore, IMessageDispatcher dispatcher, IOHelper ioHelper, ILoggerFactory loggerFactory) : base(publishedVersionStore, ioHelper, loggerFactory) { _dispatcher = dispatcher; }
private void InitializeKafka( bool useMockEventStore = false, bool useMockPublishedVersionStore = false, bool useMockDomainEventPublisher = false, bool useMockApplicationMessagePublisher = false, bool useMockPublishableExceptionPublisher = false) { var brokerAddresses = Root["Kafka:BrokerAddresses"]; var assemblies = new[] { Assembly.GetExecutingAssembly() }; _enodeConfiguration = ECommonConfiguration .Create() .UseAutofac() .RegisterCommonComponents() .UseLog4Net() .UseJsonNet() .RegisterUnhandledExceptionHandler() .CreateENode() .RegisterENodeComponents() .UseEventStore(useMockEventStore) .UsePublishedVersionStore(useMockPublishedVersionStore) .UseAggregateSnapshot(useMockPublishedVersionStore) .RegisterBusinessComponents(assemblies) .InitializeKafka(GetIPEndPointFromAddresses(brokerAddresses)) .UseKafka(useMockDomainEventPublisher, useMockApplicationMessagePublisher, useMockPublishableExceptionPublisher) .BuildContainer(); var eventStoreConnectionString = Root["ENode:EventStoreConnectionString"]; var eventStoreDatabase = Root["ENode:EventStoreDatabaseName"]; if (!useMockEventStore) { _enodeConfiguration.InitializeMongoDbEventStore(new MongoDbConfiguration() { ConnectionString = eventStoreConnectionString, DatabaseName = eventStoreDatabase }); } if (!useMockPublishedVersionStore) { _enodeConfiguration.InitializeMongoDbPublishedVersionStore(new MongoDbConfiguration() { ConnectionString = eventStoreConnectionString, DatabaseName = eventStoreDatabase }); _enodeConfiguration.InitializeMongoDbAggregateSnapshotter(new MongoDbConfiguration() { ConnectionString = eventStoreConnectionString, DatabaseName = eventStoreDatabase }); } var strBrokerAddresses = Root["Kafka:BrokerAddresses"]; var ipEndPoints = new List <IPEndPoint>(); var addressList = strBrokerAddresses.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (var address in addressList) { var array = address.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries); var endpoint = SocketUtils.GetIPEndPointFromHostName(array[0], int.Parse(array[1])); ipEndPoints.Add(endpoint); } _enodeConfiguration .InitializeBusinessAssemblies(assemblies) .StartKafka() .Start(); _commandService = ObjectContainer.Resolve <ICommandService>(); _memoryCache = ObjectContainer.Resolve <IMemoryCache>(); _eventStore = ObjectContainer.Resolve <IEventStore>(); _publishedVersionStore = ObjectContainer.Resolve <IPublishedVersionStore>(); _domainEventPublisher = ObjectContainer.Resolve <IMessagePublisher <DomainEventStreamMessage> >(); _applicationMessagePublisher = ObjectContainer.Resolve <IMessagePublisher <IApplicationMessage> >(); _publishableExceptionPublisher = ObjectContainer.Resolve <IMessagePublisher <IPublishableException> >(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(typeof(BaseTest)); _logger.Info("----ENode initialized."); }
public AbstractSequenceProcessingMessageHandler(IPublishedVersionStore publishedVersionStore, IOHelper ioHelper, ILoggerFactory loggerFactory) { _publishedVersionStore = publishedVersionStore; _ioHelper = ioHelper; _logger = loggerFactory.Create(GetType().FullName); }