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);
        }
Exemple #2
0
            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;
            }
Exemple #4
0
 public IncomingBusDecorator(Bus bus, IncomingPipeline incomingPipeline, TransportMessage incoming)
 {
     this.incoming         = incoming;
     this.incomingPipeline = incomingPipeline;
     this.bus = bus;
 }
Exemple #5
0
        Task OnMessageAsync(TransportMessage message)
        {
            IncomingPipeline incomingPipeline = incomingPipelineFactory.Create();

            return(incomingPipeline.Invoke(new IncomingBusDecorator(this, incomingPipeline, message), message, readOnlyConfiguration));
        }
Exemple #6
0
 public IncomingBusDecorator(Bus bus, IncomingPipeline incomingPipeline, TransportMessage incoming)
 {
     this.incoming = incoming;
     this.incomingPipeline = incomingPipeline;
     this.bus = bus;
 }