/// <summary> /// No more configuration needed - start event store and message bus. /// </summary> /// <param name="cfg"></param> /// <returns></returns> public static IMessageBus Start(this BaseConfiguration cfg) { AutoSubscribeToHandledMessages(cfg); IMessageBus messageBus = BuildMessageBus(cfg); MessageBusHost busHost = BuildMessageBusHost(cfg); EventStoreHost eStoreHost = BuildEventStoreHost(cfg, messageBus); eStoreHost.Start(); busHost.Start(); return(messageBus); }
private static EventStoreHost BuildEventStoreHost(BaseConfiguration cfg, IMessageBus messageBus) { IEventPublisher eventPublisher = EventStoreConfigurationExtensions.GetEventPublisher(cfg, false); if (eventPublisher == null) { eventPublisher = new MessageBusEventPublisher(messageBus); } IDocumentStoreFactory docStoreFactory = EventStoreConfigurationExtensions.GetDocumentStoreFactory(cfg); EventStoreDB eStore = EventStoreConfigurationExtensions.GetEventStoreDB(cfg); EventStoreHost host = new EventStoreHost(eStore, eventPublisher, docStoreFactory); return(host); }