public static ENodeConfiguration UseEQueue(this ENodeConfiguration enodeConfiguration) { var configuration = enodeConfiguration.GetCommonConfiguration(); configuration.RegisterEQueueComponents(); _eventConsumer = new EventConsumer(); ObjectContainer.Resolve<ITopicProvider<IEvent>>().GetAllTopics().ForEach(topic => _eventConsumer.Subscribe(topic)); return enodeConfiguration; }
public static ENodeConfiguration UseEQueue(this ENodeConfiguration enodeConfiguration) { var configuration = enodeConfiguration.GetCommonConfiguration(); string dbConfig = System.Configuration.ConfigurationManager.ConnectionStrings["IntDbConn"].ConnectionString; var messageStoreSetting = new SqlServerMessageStoreSetting { ConnectionString = dbConfig, DeleteMessageHourOfDay = -1 }; var offsetManagerSetting = new SqlServerOffsetManagerSetting { ConnectionString = dbConfig }; configuration .RegisterEQueueComponents() .UseSqlServerMessageStore(messageStoreSetting) .UseSqlServerOffsetManager(offsetManagerSetting); _broker = new BrokerController(); _commandResultProcessor = new CommandResultProcessor(); _commandService = new CommandService(_commandResultProcessor); _eventPublisher = new EventPublisher(); configuration.SetDefault<ICommandService, CommandService>(_commandService); configuration.SetDefault<IPublisher<EventStream>, EventPublisher>(_eventPublisher); configuration.SetDefault<IPublisher<DomainEventStream>, EventPublisher>(_eventPublisher); configuration.SetDefault<IPublisher<IEvent>, EventPublisher>(_eventPublisher); _commandConsumer = new CommandConsumer(); _eventConsumer = new EventConsumer(); var commandTopics = ObjectContainer.Resolve<ITopicProvider<ICommand>>().GetAllTopics(); var eventTopics = ObjectContainer.Resolve<ITopicProvider<IEvent>>().GetAllTopics(); commandTopics.ForEach(topic => _commandConsumer.Subscribe(topic)); eventTopics.ForEach(topic => _eventConsumer.Subscribe(topic)); return enodeConfiguration; }
public static ENodeConfiguration UseEQueue(this ENodeConfiguration enodeConfiguration) { var configuration = enodeConfiguration.GetCommonConfiguration(); configuration.RegisterEQueueComponents(); var eventConsumerSetting = new ConsumerSetting { HeartbeatBrokerInterval = 1000, UpdateTopicQueueCountInterval = 1000, RebalanceInterval = 1000, MessageHandleMode = MessageHandleMode.Sequential }; _domainEventHandledMessageSender = new DomainEventHandledMessageSender(); _eventConsumer = new EventConsumer(eventConsumerSetting, _domainEventHandledMessageSender); _eventConsumer.Subscribe("NoteEventTopic1"); _eventConsumer.Subscribe("NoteEventTopic2"); return enodeConfiguration; }
public static ENodeConfiguration UseEQueue(this ENodeConfiguration enodeConfiguration) { var configuration = enodeConfiguration.GetCommonConfiguration(); configuration.RegisterEQueueComponents(); _broker = new BrokerController(); _commandResultProcessor = new CommandResultProcessor(); _commandService = new CommandService(_commandResultProcessor); _eventPublisher = new EventPublisher(); configuration.SetDefault<ICommandService, CommandService>(_commandService); configuration.SetDefault<IEventPublisher, EventPublisher>(_eventPublisher); _commandConsumer = new CommandConsumer(); _eventConsumer = new EventConsumer(); _commandConsumer.Subscribe("BankTransferCommandTopic"); _eventConsumer.Subscribe("BankTransferEventTopic"); return enodeConfiguration; }
public static ENodeConfiguration UseEQueue(this ENodeConfiguration enodeConfiguration) { var configuration = enodeConfiguration.GetCommonConfiguration(); configuration.RegisterEQueueComponents(); configuration.SetDefault<ICommandTopicProvider, CommandTopicManager>(); configuration.SetDefault<IEventTopicProvider, EventTopicManager>(); configuration.SetDefault<ICommandTypeCodeProvider, CommandTypeCodeManager>(); var consumerSetting = new ConsumerSetting { HeartbeatBrokerInterval = 1000, UpdateTopicQueueCountInterval = 1000, RebalanceInterval = 1000 }; var eventConsumerSetting = new ConsumerSetting { HeartbeatBrokerInterval = 1000, UpdateTopicQueueCountInterval = 1000, RebalanceInterval = 1000, MessageHandleMode = MessageHandleMode.Sequential }; _broker = new BrokerController().Initialize(); var commandExecutedMessageConsumer = new Consumer(consumerSetting, "CommandExecutedMessageConsumer", "CommandExecutedMessageConsumerGroup_" + ObjectId.GenerateNewId().ToString()); var domainEventHandledMessageConsumer = new Consumer(consumerSetting, "DomainEventHandledMessageConsumer", "DomainEventHandledMessageConsumerGroup_" + ObjectId.GenerateNewId().ToString()); _commandResultProcessor = new CommandResultProcessor(commandExecutedMessageConsumer, domainEventHandledMessageConsumer); _commandService = new CommandService(_commandResultProcessor); _commandExecutedMessageSender = new CommandExecutedMessageSender(); _domainEventHandledMessageSender = new DomainEventHandledMessageSender(); _eventPublisher = new EventPublisher(); configuration.SetDefault<ICommandService, CommandService>(_commandService); configuration.SetDefault<IEventPublisher, EventPublisher>(_eventPublisher); _commandConsumer = new CommandConsumer(consumerSetting, _commandExecutedMessageSender); _eventConsumer = new EventConsumer(eventConsumerSetting, _domainEventHandledMessageSender); _commandConsumer.Subscribe("NoteCommandTopic"); _eventConsumer.Subscribe("NoteEventTopic"); _commandResultProcessor.SetExecutedCommandMessageTopic("ExecutedCommandMessageTopic"); _commandResultProcessor.SetDomainEventHandledMessageTopic("DomainEventHandledMessageTopic"); return enodeConfiguration; }