Пример #1
0
        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.");
        }
Пример #2
0
        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.");
        }