public EventConsumer(string id, ConsumerSetting setting, string groupName, DomainEventHandledMessageSender domainEventHandledMessageSender) { _consumer = new Consumer(id, setting, string.IsNullOrEmpty(groupName) ? typeof(EventConsumer).Name + "Group" : groupName); _binarySerializer = ObjectContainer.Resolve<IBinarySerializer>(); _eventTypeCodeProvider = ObjectContainer.Resolve<IEventTypeCodeProvider>(); _eventProcessor = ObjectContainer.Resolve<IEventProcessor>(); _messageContextDict = new ConcurrentDictionary<string, IMessageContext>(); _domainEventHandledMessageSender = domainEventHandledMessageSender; }
public DomainEventConsumer(string id = null, string groupName = null, ConsumerSetting setting = null, DomainEventHandledMessageSender domainEventHandledMessageSender = null, bool sendEventHandledMessage = true) { var consumerId = id ?? DefaultEventConsumerId; _consumer = new Consumer(consumerId, groupName ?? DefaultEventConsumerGroup, setting ?? new ConsumerSetting { MessageHandleMode = MessageHandleMode.Sequential }); _jsonSerializer = ObjectContainer.Resolve <IJsonSerializer>(); _eventSerializer = ObjectContainer.Resolve <IEventSerializer>(); _processor = ObjectContainer.Resolve <IMessageProcessor <ProcessingDomainEventStreamMessage, DomainEventStreamMessage, bool> >(); _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName); _domainEventHandledMessageSender = domainEventHandledMessageSender ?? new DomainEventHandledMessageSender(); _sendEventHandledMessage = sendEventHandledMessage; }
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 EventConsumer(ConsumerSetting setting, string name, string groupName, DomainEventHandledMessageSender domainEventHandledMessageSender) : this(string.Format("{0}@{1}@{2}", SocketUtils.GetLocalIPV4(), string.IsNullOrEmpty(name) ? typeof(EventConsumer).Name : name, ObjectId.GenerateNewId()), setting, groupName, domainEventHandledMessageSender) { }
public EventConsumer(ConsumerSetting setting, string groupName, DomainEventHandledMessageSender domainEventHandledMessageSender) : this(setting, null, groupName, domainEventHandledMessageSender) { }
public EventConsumer(ConsumerSetting setting, DomainEventHandledMessageSender domainEventHandledMessageSender) : this(setting, null, domainEventHandledMessageSender) { }
public EventConsumer(string groupName, DomainEventHandledMessageSender domainEventHandledMessageSender) : this(_consumerSetting, groupName, domainEventHandledMessageSender) { }
public EventConsumer(DomainEventHandledMessageSender domainEventHandledMessageSender) : this(_consumerSetting, domainEventHandledMessageSender) { }
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; }