void IQueueMessageHandler.Handle(QueueMessage queueMessage, IMessageContext context) { var message = _jsonSerializer.Deserialize<EventStreamMessage>(Encoding.UTF8.GetString(queueMessage.Body)); var domainEventStreamMessage = ConvertToDomainEventStream(message); var processContext = new DomainEventStreamProcessContext(this, domainEventStreamMessage, queueMessage, context); var processingMessage = new ProcessingDomainEventStreamMessage(domainEventStreamMessage, processContext); _processor.Process(processingMessage); }
void IQueueMessageHandler.Handle(QueueMessage queueMessage, IMessageContext context) { var message = _jsonSerializer.Deserialize <EventStreamMessage>(Encoding.UTF8.GetString(queueMessage.Body)); var domainEventStreamMessage = ConvertToDomainEventStream(message); var processContext = new DomainEventStreamProcessContext(this, domainEventStreamMessage, queueMessage, context); var processingMessage = new ProcessingDomainEventStreamMessage(domainEventStreamMessage, processContext); _processor.Process(processingMessage); }
void IQueueMessageHandler.Handle(QueueMessage queueMessage, IMessageContext context) { var message = _jsonSerializer.Deserialize <EventStreamMessage>(Encoding.UTF8.GetString(queueMessage.Body)); var domainEventStreamMessage = ConvertToDomainEventStream(message); var processContext = new DomainEventStreamProcessContext(this, domainEventStreamMessage, queueMessage, context); var processingMessage = new ProcessingDomainEventStreamMessage(domainEventStreamMessage, processContext); _logger.InfoFormat("ENode event message received, messageId: {0}, aggregateRootId: {1}, aggregateRootType: {2}, version: {3}", domainEventStreamMessage.Id, domainEventStreamMessage.AggregateRootStringId, domainEventStreamMessage.AggregateRootTypeName, domainEventStreamMessage.Version); _messageProcessor.Process(processingMessage); }
public void Handle(KafkaMessage message, IKafkaMessageContext context) { var eNodeMessage = _jsonSerializer.Deserialize <ENodeMessage>(message.Value); var eventStreamMessage = _jsonSerializer.Deserialize <EventStreamMessage>(eNodeMessage.Body); var domainEventStreamMessage = ConvertToDomainEventStream(eventStreamMessage); var processContext = new DomainEventStreamProcessContext(this, domainEventStreamMessage, message, context); var processingMessage = new ProcessingDomainEventStreamMessage(domainEventStreamMessage, processContext); _logger.InfoFormat("ENode event message received, messageId: {0}, aggregateRootId: {1}, aggregateRootType: {2}, version: {3}", domainEventStreamMessage.Id, domainEventStreamMessage.AggregateRootStringId, domainEventStreamMessage.AggregateRootTypeName, domainEventStreamMessage.Version); _messageProcessor.Process(processingMessage); }
public Task HandleAsync(KafkaMessage kafkaMessage, IKafkaMessageContext context) { var eNodeMessage = _jsonSerializer.Deserialize <ENodeMessage>(kafkaMessage.Message.Value); var eventStreamMessage = _jsonSerializer.Deserialize <EventStreamMessage>(eNodeMessage.Body); var domainEventStreamMessage = ConvertToDomainEventStream(eventStreamMessage); var processContext = new DomainEventStreamProcessContext(this, domainEventStreamMessage, kafkaMessage, context); var processingMessage = new ProcessingEvent(domainEventStreamMessage, processContext); _logger.DebugFormat("ENode event message received, messageId: {0}, aggregateRootId: {1}, aggregateRootType: {2}, version: {3}", domainEventStreamMessage.Id, domainEventStreamMessage.AggregateRootId, domainEventStreamMessage.AggregateRootTypeName, domainEventStreamMessage.Version); _messageProcessor.Process(processingMessage); return(Task.CompletedTask); }
void IQueueMessageHandler.Handle(QueueMessage queueMessage, IMessageContext context) { var eventStreamMessageString = Encoding.UTF8.GetString(queueMessage.Body); _logger.InfoFormat("Received event stream equeue message: {0}, eventStreamMessage: {1}", queueMessage, eventStreamMessageString); var message = _jsonSerializer.Deserialize <EventStreamMessage>(eventStreamMessageString); var domainEventStreamMessage = ConvertToDomainEventStream(message); var processContext = new DomainEventStreamProcessContext(this, domainEventStreamMessage, queueMessage, context); var processingMessage = new ProcessingEvent(domainEventStreamMessage, processContext); _messageProcessor.Process(processingMessage); }
/// <summary> /// Start /// </summary> /// <returns></returns> public DomainEventConsumer Start() { _sendReplyService.Start(); _consumer.OnMessageReceived += (sender, e) => { try { var message = _jsonSerializer.Deserialize <EventStreamMessage>(Encoding.UTF8.GetString(e.Context.GetBody())); var domainEventStreamMessage = ConvertToDomainEventStream(message); var processContext = new DomainEventStreamProcessContext(this, domainEventStreamMessage, e.Context); var processingMessage = new ProcessingEvent(domainEventStreamMessage, processContext); _logger.DebugFormat("ENode event stream message received, messageId: {0}, aggregateRootId: {1}, aggregateRootType: {2}, version: {3}", domainEventStreamMessage.Id, domainEventStreamMessage.AggregateRootId, domainEventStreamMessage.AggregateRootTypeName, domainEventStreamMessage.Version); _messageProcessor.Process(processingMessage); } catch (Exception ex) { _logger.Error($"ENode event stream message handle failed: {ex.Message}, eventStream: {Encoding.UTF8.GetString(e.Context.GetBody())}", ex); } }; _consumer.Start(); return(this); }