public async Task Setup() { cancellationTokenSource = new CancellationTokenSource(); pipeline = new IncomingPipeline( mockMessageSource.Object, new[] { mockBehaviour.Object }, mockServiceScopeFactory.Object, mockHandlerInvoker.Object, NullLogger <IncomingPipeline> .Instance, retryOptions); mockBehaviour .Setup( m => m.Process( It.Is <IncomingMessage>(message => ((string)message.Body) == "throw this"), It.IsAny <Context>(), It.IsAny <IncomingPipelineAction>())) .Throws(new InvalidOperationException()); messageCausingException = IncomingMessageBuilder.BuildWithBody("throw this"); normalMessage = IncomingMessageBuilder.BuildDefault(); await pipeline .Initialise(CancellationToken.None) .ConfigureAwait(false); }
public IncomingPipeline Create() { var pipeline = new IncomingPipeline(); pipeline.Transport .Register(new DeadLetterMessagesWhichCantBeDeserializedStep()) .Register(new DeserializeTransportMessageStep(new NewtonsoftJsonMessageSerializer())); pipeline.Logical .Register(new DeadLetterMessagesWhenRetryCountIsReachedStep()) .Register(new LoadMessageHandlersStep(this.registry)) .Register(new InvokeHandlerStep()) .Register(new TraceIncomingLogical(this.incoming)); return(pipeline); }
public IncomingPipeline Create() { var pipeline = new IncomingPipeline(); pipeline.Transport .Register(new DeadLetterMessagesWhichCantBeDeserializedStep()) .Register(new DeserializeTransportMessageStep(new NewtonsoftJsonMessageSerializer())); pipeline.Logical .Register(new DeadLetterMessagesWhenRetryCountIsReachedStep()) .Register(new LoadMessageHandlersStep(this.registry)) .Register(new InvokeHandlerStep()) .Register(new TraceIncomingLogical(this.incoming)); return pipeline; }
public IncomingBusDecorator(Bus bus, IncomingPipeline incomingPipeline, TransportMessage incoming) { this.incoming = incoming; this.incomingPipeline = incomingPipeline; this.bus = bus; }
Task OnMessageAsync(TransportMessage message) { IncomingPipeline incomingPipeline = incomingPipelineFactory.Create(); return(incomingPipeline.Invoke(new IncomingBusDecorator(this, incomingPipeline, message), message, readOnlyConfiguration)); }