/// <summary> /// Initializes a new instance of the <see cref="MessageProcessingRpcReceive{TReceivedMessage}" /> class. /// </summary> /// <param name="configurationReceive">The configuration receive.</param> /// <param name="receiveMessagesFactory">The receive messages factory.</param> /// <param name="messageContextFactory">The message context factory.</param> /// <param name="messageHandler">The message handler.</param> /// <param name="rpcContextFactory">The RPC context factory.</param> /// <param name="commitMessage">The commit message.</param> public MessageProcessingRpcReceive( QueueConsumerConfiguration configurationReceive, IReceiveMessagesFactory receiveMessagesFactory, IMessageContextFactory messageContextFactory, IMessageHandlerRegistration messageHandler, IRpcContextFactory rpcContextFactory, ICommitMessage commitMessage) { Guard.NotNull(() => configurationReceive, configurationReceive); Guard.NotNull(() => receiveMessagesFactory, receiveMessagesFactory); Guard.NotNull(() => messageContextFactory, messageContextFactory); Guard.NotNull(() => messageHandler, messageHandler); Guard.NotNull(() => rpcContextFactory, rpcContextFactory); Guard.NotNull(() => commitMessage, commitMessage); _configurationReceive = configurationReceive; _receiveMessagesFactory = receiveMessagesFactory; _messageContextFactory = messageContextFactory; _messageHandler = messageHandler; _rpcContextFactory = rpcContextFactory; _commitMessage = commitMessage; void Action(IReceivedMessage <TReceivedMessage> message, IWorkerNotification worker) { } messageHandler.Set((Action <IReceivedMessage <TReceivedMessage>, IWorkerNotification>)Action); }
public MessageProcessingRpcReceive <FakeMessage> Create() { var fixture = new Fixture().Customize(new AutoNSubstituteCustomization()); var receiveMessages = fixture.Create <IReceiveMessagesFactory>(); fixture.Inject(receiveMessages); var fakeMessage = fixture.Create <IMessage>(); fakeMessage.Body.Returns(new FakeMessage()); fixture.Inject(fakeMessage); ICommitMessage commitMessage = fixture.Create <CommitMessage>(); fixture.Inject(commitMessage); IReceivedMessageInternal message = fixture.Create <ReceivedMessageInternal>(); var messageHandlerRegistration = fixture.Create <IMessageHandlerRegistration>(); messageHandlerRegistration.GenerateMessage(message) .Returns(new ReceivedMessage <FakeMessage>(message)); fixture.Inject(messageHandlerRegistration); receiveMessages.Create().ReceiveMessage(null).ReturnsForAnyArgs(message); return(fixture.Create <MessageProcessingRpcReceive <FakeMessage> >()); }
/// <summary> /// Initializes a new instance of the <see cref="QueueCreationDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public CommitMessageDecorator(IMetrics metrics, ICommitMessage handler, IConnectionInformation connectionInformation) { var name = handler.GetType().Name; _commitCounter = metrics.Counter($"{connectionInformation.QueueName}.{name}.CommitCounter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="QueueCreationDecorator" /> class. /// </summary> /// <param name="metrics">The metrics factory.</param> /// <param name="handler">The handler.</param> /// <param name="connectionInformation">The connection information.</param> public CommitMessageDecorator(IMetrics metrics, ICommitMessage handler, IConnectionInformation connectionInformation) { var name = "CommitMessage"; _commitCounter = metrics.Counter($"{connectionInformation.QueueName}.{name}.CommitCounter", Units.Items); _handler = handler; }
/// <summary> /// Initializes a new instance of the <see cref="ProcessMessage"/> class. /// </summary> /// <param name="handler">The handler.</param> /// <param name="heartBeatWorkerFactory">The heart beat worker factory.</param> /// <param name="messageExceptionHandler">The message exception handler.</param> /// <param name="commitMessage">The commit message.</param> public ProcessMessage(IHandleMessage handler, IHeartBeatWorkerFactory heartBeatWorkerFactory, MessageExceptionHandler messageExceptionHandler, ICommitMessage commitMessage) { Guard.NotNull(() => handler, handler); Guard.NotNull(() => heartBeatWorkerFactory, heartBeatWorkerFactory); Guard.NotNull(() => messageExceptionHandler, messageExceptionHandler); Guard.NotNull(() => commitMessage, commitMessage); _messageExceptionHandler = messageExceptionHandler; _methodToRun = handler; _heartBeatWorkerFactory = heartBeatWorkerFactory; _commitMessage = commitMessage; }
/// <summary> /// Initializes a new instance of the <see cref="ProcessMessageAsync"/> class. /// </summary> /// <param name="handler">The handler.</param> /// <param name="heartBeatWorkerFactory">The heart beat worker factory.</param> /// <param name="messageExceptionHandler">The message exception handler.</param> /// <param name="commitMessage">The commit message.</param> public ProcessMessageAsync(IHandleMessage handler, IHeartBeatWorkerFactory heartBeatWorkerFactory, MessageExceptionHandler messageExceptionHandler, ICommitMessage commitMessage) { Guard.NotNull(() => handler, handler); Guard.NotNull(() => heartBeatWorkerFactory, heartBeatWorkerFactory); Guard.NotNull(() => messageExceptionHandler, messageExceptionHandler); Guard.NotNull(() => commitMessage, commitMessage); _messageExceptionHandler = messageExceptionHandler; _methodToRun = handler; _heartBeatWorkerFactory = heartBeatWorkerFactory; _commitMessage = commitMessage; }
/// <summary> /// Initializes a new instance of the <see cref="CommitMessageDecorator"/> class. /// </summary> /// <param name="handler">The handler.</param> /// <param name="tracer">The tracer.</param> /// <param name="headers">The headers.</param> public CommitMessageDecorator(ICommitMessage handler, ITracer tracer, IStandardHeaders headers) { _handler = handler; _tracer = tracer; _headers = headers; }
/// <summary> /// Initializes a new instance of the <see cref="CommitMessageDecorator"/> class. /// </summary> /// <param name="handler">The handler.</param> /// <param name="tracer">The tracer.</param> /// <param name="headers">The headers.</param> public CommitMessageDecorator(ICommitMessage handler, ActivitySource tracer, IStandardHeaders headers) { _handler = handler; _tracer = tracer; _headers = headers; }