/// <summary> /// Called when [message]. /// </summary> /// <param name="messageEnvelope">The message envelope.</param> /// <param name="specificSubscribers">The specific subscribers.</param> void OnMessage(IMessageEnvelope messageEnvelope, IList <string> specificSubscribers) { _logger.LogBusReceived(messageEnvelope, ""); try { var session = new SessionContext(); var OnMessageCall = new OnMessageAsync(_subscriberManager.OnMessage); OnMessageCall.BeginInvoke(messageEnvelope, specificSubscribers, null, this); } catch (System.Exception exception) { _logger.LogBusReceivedFailure(messageEnvelope, exception.Message, exception); } }
public BasicConsumer(string validQueueName, IModel model, CancellationToken?cancellationToken = null, ILogger consumerErrorLogger = null) : base(validQueueName, model) { //start consumimg Task.Run(() => { base.HandleMultipleMessagesAsync(async msgs => { if (OnMessagesAsync != null) { await OnMessagesAsync?.Invoke((BasicMessage[])msgs); } }); base.HandleMultipleMessages(msgs => { if (OnMessages != null) { OnMessages?.Invoke((BasicMessage[])msgs); } }); base.HandleMessageAsync(async msg => { if (OnMessageAsync != null) { await OnMessageAsync?.Invoke((BasicMessage)msg); } }); base.HandleMessage(msg => { if (OnMessage != null) { OnMessage?.Invoke((BasicMessage)msg); } }); base.HandleMessageError((ex, msg) => { consumerErrorLogger?.LogError(ex, $"{ex.Message}\r\nQueueName:{validQueueName}", $"MaxFetchCount:{base.MaxFetchCount}", msg?.ToJsonString()); }); }); }