public void LogRollbackToSkipFailed_Logged() { var envelope = new RawInboundEnvelope( Stream.Null, new MessageHeaderCollection { { DefaultMessageHeaders.MessageType, "Message.Type" }, { DefaultMessageHeaders.MessageId, "1234" } }, new TestConsumerEndpoint("test1, test2"), "test1", new TestOffset("a", "42")); var expectedMessage = "Error occurred while rolling back or committing, the skip message error policy " + "cannot be applied. The consumer will be reconnected. | " + "endpointName: test1, " + "messageType: Message.Type, " + "messageId: 1234, " + "unused1: (null), " + "unused2: (null)"; _inboundLogger.LogRollbackToSkipFailed(envelope, new TimeoutException()); _loggerSubstitute.Received(LogLevel.Warning, typeof(TimeoutException), expectedMessage, 1052); }
private async Task <bool> TryRollbackAsync(ConsumerPipelineContext context, Exception exception) { try { await context.TransactionManager.RollbackAsync(exception, true) .ConfigureAwait(false); return(true); } catch (Exception ex) { _logger.LogRollbackToSkipFailed(context.Envelope, ex); return(false); } }