Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
 }