/// <summary> /// Initializes a new instance of the <see cref="RpcQueue{TReceivedMessage, TSendMessage}" /> class. /// </summary> /// <param name="configurationRpc">The configuration RPC.</param> /// <param name="configurationReceive">The configuration receive.</param> /// <param name="clearMessages">The clear messages factory.</param> /// <param name="log">The log.</param> /// <param name="messageProcessingRpcReceive">The message processing RPC receive.</param> /// <param name="messageProcessingRpcSend">The message processing RPC send.</param> /// <param name="queueWaitFactory">The queue wait factory.</param> public RpcQueue( QueueRpcConfiguration configurationRpc, QueueConsumerConfiguration configurationReceive, IClearExpiredMessagesRpcMonitor clearMessages, ILogFactory log, IMessageProcessingRpcReceive <TReceivedMessage> messageProcessingRpcReceive, IMessageProcessingRpcSend <TSendMessage> messageProcessingRpcSend, IQueueWaitFactory queueWaitFactory) : base(log) { Guard.NotNull(() => configurationRpc, configurationRpc); Guard.NotNull(() => configurationReceive, configurationReceive); Guard.NotNull(() => clearMessages, clearMessages); Guard.NotNull(() => log, log); Guard.NotNull(() => messageProcessingRpcReceive, messageProcessingRpcReceive); Guard.NotNull(() => messageProcessingRpcSend, messageProcessingRpcSend); Guard.NotNull(() => queueWaitFactory, queueWaitFactory); _configurationReceive = configurationReceive; _configurationRpc = configurationRpc; _messageProcessingRpcReceive = messageProcessingRpcReceive; _messageProcessingRpcSend = messageProcessingRpcSend; _queueWaitFactory = queueWaitFactory; _clearQueue = clearMessages; }
/// <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); }