public Task NotifyMessageExecutedAsync(MessageExecutingResult messageResult) { if (messageResult.Status == MessageExecutingStatus.Success) { _transportationContext.Ack(); _logger.Info($"Result={messageResult}\r\nRawMessage={JsonConvert.SerializeObject(messageResult.RawMessage)}"); } else { _logger.Error($"Result={messageResult}\r\nRawMessage={JsonConvert.SerializeObject(messageResult.RawMessage)}\r\n{messageResult.StackTrace}"); } return(Task.CompletedTask); }
public Task OnCommandExecutedAsync(CommandResult commandResult) { if (!string.IsNullOrEmpty(_commandMessage.SagaId)) { if (commandResult.Status != CommandStatus.Failed || (!string.IsNullOrEmpty(commandResult.ResultType) && commandResult.ResultType != "System.String" && commandResult.ResultType.EndsWith("DomainException"))) { _messageContext.Ack(); } else { _logger.Error($"ENode command executed failed: [{commandResult.ResultType}]{commandResult.Result}, commandData: {_commandMessage.CommandData}, commandType: {_messageContext.GetMessageType()}, sagaId: {_commandMessage.SagaId}"); } return(Task.CompletedTask); } _messageContext.Ack(); if (!string.IsNullOrEmpty(_commandMessage.ReplyAddress)) { return(_sendReplyService.SendReply((int)CommandReturnType.CommandExecuted, commandResult, _commandMessage.ReplyAddress)); } return(Task.CompletedTask); }
public void NotifyEventProcessed() { _messageContext.Ack(); if (!_eventConsumer._sendEventHandledMessage) { return; } if (!_domainEventStreamMessage.Items.TryGetValue("CommandReplyAddress", out string replyAddress) || string.IsNullOrEmpty(replyAddress)) { return; } _domainEventStreamMessage.Items.TryGetValue("CommandResult", out string commandResult); _eventConsumer._sendReplyService.SendReply((int)CommandReturnType.EventHandled, new DomainEventHandledMessage { CommandId = _domainEventStreamMessage.CommandId, AggregateRootId = _domainEventStreamMessage.AggregateRootId, CommandResult = commandResult }, replyAddress); }