public MessageProcessingBehaviourPipeline Build(IServiceProvider provider) { var pipeline = new MessageProcessingBehaviourPipeline(); foreach (var messagePipelineBehaviourType in _messagePipelineBehaviourTypes) { pipeline.AddBehaviour((IMessageProcessingBehaviour)provider.GetService(messagePipelineBehaviourType)); } return(pipeline); }
public MessageProcessingBehaviourPipeline Build(IContext ctx) { var pipeline = new MessageProcessingBehaviourPipeline(); foreach (var messagePipelineBehaviourType in _messagePipelineBehaviourTypes) { pipeline.AddBehaviour((IMessageProcessingBehaviour)ctx.GetInstance(messagePipelineBehaviourType)); } return(pipeline); }
public CircuitBreakerTests() { _messageContext = new MessageContext { Message = new Message(), MessageReceiver = Substitute.For <IMessageReceiver>() }; var config = new SubscriberConfiguration { SubscriberName = "TestSubscriber" }; _events = Substitute.For <ICircuitBreakerEvents>(); var circuitBreakerOptions = new CircuitBreakerBatchProcessingBehaviour.CircuitBreakerOptions(1, exception => false); circuitBreakerOptions.CircuitBroken += _events.Broken; circuitBreakerOptions.CircuitReset += _events.Reset; circuitBreakerOptions.CircuitTest += _events.TestCircuit; _circuitBreakerBatchProcessingBehaviour = new CircuitBreakerBatchProcessingBehaviour(Substitute.For <ILogger <CircuitBreakerBatchProcessingBehaviour> >(), config, circuitBreakerOptions); _batchProcessingBehaviourPipeline = new BatchProcessingBehaviourPipeline() .AddBehaviour(_circuitBreakerBatchProcessingBehaviour) .AddBehaviour(new DefaultBatchProcessingBehaviour(Substitute.For <ILogger <DefaultBatchProcessingBehaviour> >(), config)); _mockHandleMessageBehaviour = new MockHandleMessageBehaviour(); var circuitBreakerMessageProcessingBehaviour = new CircuitBreakerMessageProcessingBehaviour(_circuitBreakerBatchProcessingBehaviour); _messageProcessingPipeline = new MessageProcessingBehaviourPipeline() .AddBehaviour(new DefaultMessageProcessingBehaviour(Substitute.For <ILogger <DefaultMessageProcessingBehaviour> >(), config)) .AddBehaviour(circuitBreakerMessageProcessingBehaviour) .AddBehaviour(_mockHandleMessageBehaviour); }
public static MessageProcessingBehaviourPipeline AddBehaviour <T>(this MessageProcessingBehaviourPipeline pipleline, IContext context) where T : IMessageProcessingBehaviour { return(pipleline.AddBehaviour(context.GetInstance <T>())); }
public static MessageProcessingBehaviourPipeline AddBehaviour <T>(this MessageProcessingBehaviourPipeline pipleline, IServiceProvider provider) where T : IMessageProcessingBehaviour { return(pipleline.AddBehaviour(provider.GetService <T>())); }
public MessageProcessor(IMessageDependencyResolver messageDependencyResolver, MessageProcessingBehaviourPipeline pipeline, ILogger <MessageProcessor> logger) { _messageDependencyResolver = messageDependencyResolver; _pipeline = pipeline; this.logger = logger; }