Exemple #1
0
 internal override AggregateConsumingResult Reply(IInboundChannel inboundChannel,
                                                  IOutboundChannel outboundChannel,
                                                  IFallbackStrategy fallbackStrategy)
 {
     Message.Requeue(inboundChannel);
     return(this);
 }
Exemple #2
0
 internal virtual AggregateConsumingResult Reply(IInboundChannel inboundChannel,
                                                 IOutboundChannel outboundChannel,
                                                 IFallbackStrategy fallbackStrategy)
 {
     Message.Acknowledge(inboundChannel);
     return(this);
 }
Exemple #3
0
 internal override AggregateConsumingResult Reply(IInboundChannel inboundChannel,
                                                  IOutboundChannel outboundChannel,
                                                  IFallbackStrategy fallbackStrategy)
 {
     Message.Requeue(inboundChannel);
     return this;
 }
Exemple #4
0
 internal override AggregateConsumingResult Reply(IInboundChannel inboundChannel,
                                                  IOutboundChannel outboundChannel,
                                                  IFallbackStrategy fallbackStrategy)
 {
     fallbackStrategy.Apply(outboundChannel, Message);
     return(base.Reply(inboundChannel, outboundChannel, fallbackStrategy));
 }
Exemple #5
0
 internal virtual AggregateConsumingResult Reply(IInboundChannel inboundChannel,
                                                 IOutboundChannel outboundChannel,
                                                 IFallbackStrategy fallbackStrategy)
 {
     Message.Acknowledge(inboundChannel);
     return this;
 }
Exemple #6
0
 private AggregateConsumingResult AggregateResult(Task<ConsumingResult[]> task,
                                                  ConsumedMessageBase message,
                                                  IFallbackStrategy fallbackStrategy)
 {
     return task.Result.OfType<Failure>().Any()
             ? BuildErrorResult(task.Result, fallbackStrategy)
             : new Messages.Success(message);
 }
Exemple #7
0
 protected ConsumingFailureBase(ConsumedMessageBase message,
                                IFallbackStrategy fallbackStrategy,
                                params Exception[] exceptions)
     : base(message)
 {
     _fallbackStrategy = fallbackStrategy;
     _exceptions = exceptions;
 }
        public void FallbackBy(Func <IBroker, Queue, IFallbackStrategy> strategy)
        {
            if (strategy == null)
            {
                throw new ArgumentNullException(nameof(strategy));
            }

            FallbackStrategy = strategy(_broker, _queue);
        }
Exemple #9
0
        private void Subscribe(Action<SubscriptionConfiguration> configure,
                               Func<IConsumedMessageBuilder, SubscriptionConfiguration, ConsumerBase> func,
                               IFallbackStrategy fallbackStrategy)
        {
            var configuration = new SubscriptionConfiguration(fallbackStrategy);
            configure(configuration);
            var builder = new ConsumedMessageBuilder(new SerializerFactory(), _resolver);

            _model.BasicConsume(_name, false, func(builder, configuration));
        }
Exemple #10
0
        private AggregateConsumingResult BuildErrorResult(IEnumerable<ConsumingResult> results,
                                                          IFallbackStrategy fallbackStrategy)
        {
            var exceptions = results.OfType<Failure>()
                                    .Select(_ => _.Exception)
                                    .ToArray();

            if (Redelivered)
                return new ReiteratedConsumingFailure(this, fallbackStrategy, exceptions);

            return new ConsumingFailure(this, fallbackStrategy, exceptions);
        }
Exemple #11
0
 internal ConsumingFailure(ConsumedMessageBase message,
                           IFallbackStrategy fallbackStrategy,
                           params Exception[] exceptions)
     : base(message, fallbackStrategy, exceptions)
 {
 }
Exemple #12
0
 internal UnsupportedMessageConsumingFailure(ConsumedMessageBase message, IFallbackStrategy fallbackStrategy)
     : base(message, fallbackStrategy)
 {
 }
Exemple #13
0
 internal override AggregateConsumingResult Reply(IInboundChannel inboundChannel,
                                                  IOutboundChannel outboundChannel,
                                                  IFallbackStrategy fallbackStrategy)
 {
     fallbackStrategy.Apply(outboundChannel, Message);
     return base.Reply(inboundChannel, outboundChannel, fallbackStrategy);
 }
Exemple #14
0
 protected override ConsumingFailureBase Result(IFallbackStrategy fallbackStrategy)
 {
     return new UnsupportedMessageConsumingFailure(this, fallbackStrategy);
 }
Exemple #15
0
 public void SubscribeByAtMostOnce(Action<SubscriptionConfiguration> configure,
                                   IFallbackStrategy fallbackStrategy)
 {
     Subscribe(configure, (b, c) => new AtMostOnceConsumer(_model, b, c), fallbackStrategy);
 }
Exemple #16
0
 protected abstract ConsumingFailureBase Result(IFallbackStrategy fallbackStrategy);