示例#1
0
        void ISagaConfigurationObserver.SagaMessageConfigured <T, TMessage>(ISagaMessageConfigurator <T, TMessage> configurator)
        {
            var specification = new TimeoutSpecification <TMessage>();

            _configure?.Invoke(specification);

            _configurator.Message <TMessage>(x => x.AddPipeSpecification(specification));
        }
        public void SagaMessageConfigured <T, TMessage>(ISagaMessageConfigurator <T, TMessage> configurator)
            where T : class, ISaga
            where TMessage : class
        {
            var specification = new PrometheusSagaSpecification <T, TMessage>();

            configurator.AddPipeSpecification(specification);
        }
示例#3
0
        void ISagaConfigurationObserver.SagaMessageConfigured <T, TMessage>(ISagaMessageConfigurator <T, TMessage> configurator)
        {
            var specification = new ConsumeContextRetryPipeSpecification <ConsumeContext <TMessage>, RetryConsumeContext <TMessage> >(Factory, _cancellationToken);

            _configure?.Invoke(specification);

            _configurator.Message <TMessage>(x => x.AddPipeSpecification(specification));
        }
示例#4
0
        public void SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
            where TSaga : class, ISaga
            where TMessage : class
        {
            All(observer =>
            {
                observer.SagaMessageConfigured(configurator);

                return(true);
            });
        }
        void ISagaConfigurationObserver.SagaMessageConfigured <T, TMessage>(ISagaMessageConfigurator <T, TMessage> configurator)
        {
            var redeliverySpecification = new ScheduledRedeliveryPipeSpecification <TMessage>();
            var retrySpecification      = new RedeliveryRetryPipeSpecification <TMessage>();

            _configure?.Invoke(retrySpecification);

            _configurator.Message <TMessage>(x =>
            {
                x.AddPipeSpecification(redeliverySpecification);
                x.AddPipeSpecification(retrySpecification);
            });
        }
        public void SagaMessageConfigured<TSaga, TMessage>(ISagaMessageConfigurator<TSaga, TMessage> configurator)
            where TSaga : class, ISaga
            where TMessage : class
        {
            var scopeProviderType = typeof(AutofacFilterContextScopeProvider<,>)
                .MakeGenericType(_filterType.MakeGenericType(typeof(TMessage)), typeof(ConsumeContext<TMessage>));

            var scopeProvider = (IFilterContextScopeProvider<ConsumeContext<TMessage>>)Activator.CreateInstance(scopeProviderType, _lifetimeScopeProvider);

            var filter = new ScopedFilter<ConsumeContext<TMessage>>(scopeProvider);
            var specification = new FilterPipeSpecification<ConsumeContext<TMessage>>(filter);

            configurator.Message(m => m.AddPipeSpecification(specification));
        }
        void ISagaConfigurationObserver.SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
        {
            Tuple <Type, Type> key = Tuple.Create(typeof(TSaga), typeof(TMessage));

            if (_messageTypes.Contains(key))
            {
                return;
            }

            _messageTypes.Add(key);

            var specification = new ConsumeContextRetryPipeSpecification <ConsumeContext <TMessage>,
                                                                          RetryConsumeContext <TMessage> >(x => new RetryConsumeContext <TMessage>(x));

            _configure?.Invoke(specification);

            _configurator.AddPipeSpecification(specification);
        }
        void ISagaConfigurationObserver.SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
        {
            Tuple <Type, Type> key = Tuple.Create(typeof(TSaga), typeof(TMessage));

            if (_messageTypes.Contains(key))
            {
                return;
            }

            _messageTypes.Add(key);

            var redeliverySpecification = new ScheduleMessageRedeliveryPipeSpecification <TMessage>();

            _configurator.AddPipeSpecification(redeliverySpecification);

            var retrySpecification = new RedeliveryRetryPipeSpecification <TMessage>();

            _configure?.Invoke(retrySpecification);

            _configurator.AddPipeSpecification(retrySpecification);
        }
 void ISagaConfigurationObserver.SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
 {
     NotifyObserver <TMessage>();
 }
示例#10
0
 void ISagaConfigurationObserver.SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
 {
     _configurator.SagaMessageConfigured(configurator);
 }
示例#11
0
 public void SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
     where TSaga : class, ISaga
     where TMessage : class
 {
     configurator.AddScopedFilter <SagaConsumeContext <TSaga, TMessage>, ConsumeContext <TMessage>, TMessage>(_filterType, _provider);
 }
示例#12
0
        void ISagaConfigurationObserver.SagaMessageConfigured <T, TMessage>(ISagaMessageConfigurator <T, TMessage> configurator)
        {
            var specification = new InMemoryOutboxSpecification <TMessage>();

            _configurator.Message <TMessage>(x => x.AddPipeSpecification(specification));
        }
示例#13
0
 public void Configure <T>(IReceiveEndpointConfigurator endpointConfigurator, ISagaMessageConfigurator <TSaga, T> sagaMessageConfigurator)
     where T : class
 {
 }
示例#14
0
 void ISagaMessageDefinition <TSaga, TMessage> .Configure(IReceiveEndpointConfigurator endpointConfigurator, ISagaMessageConfigurator <TSaga, TMessage>
                                                          sagaConfigurator)
 {
     // if (_concurrentMessageLimit.HasValue)
     //     sagaConfigurator.UseConcurrentMessageLimit(_concurrentMessageLimit.Value);
 }
 public void SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator) where TSaga : class, ISaga
     where TMessage : class
 {
     _consumePipeSpecification.SagaMessageConfigured(configurator);
 }
 public void SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
     where TSaga : class, ISaga
     where TMessage : class
 {
     _busEndpointConfiguration.Consume.Configurator.SagaMessageConfigured(configurator);
 }
示例#17
0
        void ISagaConfigurationObserver.SagaMessageConfigured <T, TMessage>(ISagaMessageConfigurator <T, TMessage> configurator)
        {
            var specification = new ConcurrencyLimitConsumePipeSpecification <TMessage>(_limiter);

            _configurator.Message <TMessage>(x => x.AddPipeSpecification(specification));
        }
示例#18
0
 public void SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
     where TSaga : class, ISaga
     where TMessage : class
 {
     _sagaObservers.SagaMessageConfigured(configurator);
 }
示例#19
0
 void ISagaConfigurationObserver.SagaMessageConfigured <TSaga, TMessage>(ISagaMessageConfigurator <TSaga, TMessage> configurator)
 {
     _messageTypes.Add(Tuple.Create(typeof(TSaga), typeof(TMessage)));
 }