/// <summary> /// Initializes a new instance of the <see cref="MessageProcessing"/> class. /// </summary> /// <param name="receiveMessages">The receive messages.</param> /// <param name="messageContextFactory">The message context factory.</param> /// <param name="queueWaitFactory">The queue wait factory.</param> /// <param name="log">The log.</param> /// <param name="processMessage">The process message.</param> /// <param name="receivePoisonMessage">The receive poison message.</param> /// <param name="rollbackMessage">rolls back a message when an exception occurs</param> public MessageProcessing( IReceiveMessagesFactory receiveMessages, IMessageContextFactory messageContextFactory, IQueueWaitFactory queueWaitFactory, ILogFactory log, ProcessMessage processMessage, IReceivePoisonMessage receivePoisonMessage, IRollbackMessage rollbackMessage) { Guard.NotNull(() => receiveMessages, receiveMessages); Guard.NotNull(() => messageContextFactory, messageContextFactory); Guard.NotNull(() => queueWaitFactory, queueWaitFactory); Guard.NotNull(() => log, log); Guard.NotNull(() => processMessage, processMessage); Guard.NotNull(() => receivePoisonMessage, receivePoisonMessage); Guard.NotNull(() => rollbackMessage, rollbackMessage); _receiveMessages = receiveMessages.Create(); _messageContextFactory = messageContextFactory; _log = log.Create(); _processMessage = processMessage; _receivePoisonMessage = receivePoisonMessage; _rollbackMessage = rollbackMessage; _noMessageToProcessBackoffHelper = new Lazy<IQueueWait>(queueWaitFactory.CreateQueueDelay); _seriousExceptionProcessBackOffHelper = new Lazy<IQueueWait>(queueWaitFactory.CreateFatalErrorDelay); }
/// <summary> /// Initializes a new instance of the <see cref="MessageProcessing"/> class. /// </summary> /// <param name="receiveMessages">The receive messages.</param> /// <param name="messageContextFactory">The message context factory.</param> /// <param name="queueWaitFactory">The queue wait factory.</param> /// <param name="log">The log.</param> /// <param name="processMessage">The process message.</param> /// <param name="receivePoisonMessage">The receive poison message.</param> /// <param name="rollbackMessage">rolls back a message when an exception occurs</param> public MessageProcessing( IReceiveMessagesFactory receiveMessages, IMessageContextFactory messageContextFactory, IQueueWaitFactory queueWaitFactory, ILogFactory log, ProcessMessage processMessage, IReceivePoisonMessage receivePoisonMessage, IRollbackMessage rollbackMessage) { Guard.NotNull(() => receiveMessages, receiveMessages); Guard.NotNull(() => messageContextFactory, messageContextFactory); Guard.NotNull(() => queueWaitFactory, queueWaitFactory); Guard.NotNull(() => log, log); Guard.NotNull(() => processMessage, processMessage); Guard.NotNull(() => receivePoisonMessage, receivePoisonMessage); Guard.NotNull(() => rollbackMessage, rollbackMessage); _receiveMessages = receiveMessages.Create(); _messageContextFactory = messageContextFactory; _log = log.Create(); _processMessage = processMessage; _receivePoisonMessage = receivePoisonMessage; _rollbackMessage = rollbackMessage; _noMessageToProcessBackOffHelper = new Lazy <IQueueWait>(queueWaitFactory.CreateQueueDelay); _seriousExceptionProcessBackOffHelper = new Lazy <IQueueWait>(queueWaitFactory.CreateFatalErrorDelay); }
/// <summary> /// Initializes a new instance of the <see cref="RollbackMessageDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public RollbackMessageDecorator(IMetrics metrics, IRollbackMessage handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _rollbackCounter = metrics.Counter($"{connectionInformation.QueueName}.{name}.RollbackCounter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="RollbackMessageDecorator" /> class. /// </summary> /// <param name="log">The log.</param> /// <param name="handler">The handler.</param> public RollbackMessageDecorator(ILogFactory log, IRollbackMessage handler) { Guard.NotNull(() => log, log); Guard.NotNull(() => handler, handler); _log = log.Create(); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="RollbackMessageDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public RollbackMessageDecorator(IMetrics metrics, IRollbackMessage handler, IConnectionInformation connectionInformation) { var name = "RollbackMessage"; _rollbackCounter = metrics.Counter($"{connectionInformation.QueueName}.{name}.RollbackCounter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="RollbackMessageDecorator" /> class. /// </summary> /// <param name="log">The log.</param> /// <param name="handler">The handler.</param> public RollbackMessageDecorator(ILogger log, IRollbackMessage handler) { Guard.NotNull(() => log, log); Guard.NotNull(() => handler, handler); _log = log; _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="RollbackMessageDecorator"/> class. /// </summary> /// <param name="handler">The handler.</param> /// <param name="tracer">The tracer.</param> /// <param name="headers">The headers.</param> public RollbackMessageDecorator(IRollbackMessage handler, ActivitySource tracer, IStandardHeaders headers) { _handler = handler; _tracer = tracer; _headers = headers; }
/// <summary> /// Initializes a new instance of the <see cref="RollbackMessageDecorator"/> class. /// </summary> /// <param name="handler">The handler.</param> /// <param name="tracer">The tracer.</param> /// <param name="headers">The headers.</param> public RollbackMessageDecorator(IRollbackMessage handler, ITracer tracer, IStandardHeaders headers) { _handler = handler; _tracer = tracer; _headers = headers; }