Beispiel #1
0
        private async Task ProcessAsyncCore <TM>(TM message, CancellationToken cancellationToken) where TM : IMessage
        {
            var messageContext = _messageContextFactory.Create(message);

            _logger.LogInformation("processing message {MessageId} with type {MessageType} on client {ClientGroup}/{ClientId} ...",
                                   message.Id, typeof(TM).FullName, messageContext.SystemInfo.ClientGroup, messageContext.SystemInfo.ClientId);

            try
            {
                await _sagasRunner.RunAsync(messageContext, cancellationToken);

                await _messageHandlersRunner.RunAsync(messageContext, cancellationToken);
            }
            catch (AggregateException ex)
            {
                _logger.LogError(ex, "an error has occurred while processing message {MessageId} with type {MessageType} on client {ClientGroup}/{ClientId} : {Exception}",
                                 message.Id, typeof(TM).FullName, messageContext.SystemInfo.ClientGroup, messageContext.SystemInfo.ClientId, ex.Message);
                throw;
            }

            _logger.LogInformation("message {MessageId} with type {MessageType} processed on client {ClientGroup}/{ClientId}",
                                   message.Id, typeof(TM).FullName, messageContext.SystemInfo.ClientGroup, messageContext.SystemInfo.ClientId);
        }
Beispiel #2
0
        private async Task ProcessAsyncCore <TM>(TM message, CancellationToken cancellationToken) where TM : IMessage
        {
            var messageContext = _messageContextFactory.Create(message);

            await _sagasRunner.RunAsync(messageContext, cancellationToken);
        }