public MoveMessageErrorPolicyImplementation( IProducerEndpoint endpoint, Action <IOutboundEnvelope, Exception>?transformationAction, int?maxFailedAttempts, ICollection <Type> excludedExceptions, ICollection <Type> includedExceptions, Func <IRawInboundEnvelope, Exception, bool>?applyRule, Func <IRawInboundEnvelope, object>?messageToPublishFactory, IServiceProvider serviceProvider, IInboundLogger <MoveMessageErrorPolicy> logger) : base( maxFailedAttempts, excludedExceptions, includedExceptions, applyRule, messageToPublishFactory, serviceProvider, logger) { _endpoint = Check.NotNull(endpoint, nameof(endpoint)); _transformationAction = transformationAction; _logger = logger; _producer = serviceProvider.GetRequiredService <IBrokerCollection>().GetProducer(endpoint); }
public ErrorPolicyChainImplementation( IEnumerable <ErrorPolicyImplementation> policies, IInboundLogger <ErrorPolicyChainImplementation> logger) { _policies = Check.NotNull(policies, nameof(policies)).ToList(); Check.HasNoNulls(_policies, nameof(policies)); _logger = Check.NotNull(logger, nameof(logger)); }
/// <summary> /// Initializes a new instance of the <see cref="Consumer{TBroker, TEndpoint, TOffset}" /> class. /// </summary> /// <param name="broker"> /// The <see cref="IBroker" /> that is instantiating the consumer. /// </param> /// <param name="endpoint"> /// The endpoint to be consumed. /// </param> /// <param name="behaviorsProvider"> /// The <see cref="IBrokerBehaviorsProvider{TBehavior}" />. /// </param> /// <param name="serviceProvider"> /// The <see cref="IServiceProvider" /> to be used to resolve the needed services. /// </param> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> protected Consumer( TBroker broker, TEndpoint endpoint, IBrokerBehaviorsProvider <IConsumerBehavior> behaviorsProvider, IServiceProvider serviceProvider, IInboundLogger <Consumer <TBroker, TEndpoint, TIdentifier> > logger) : base(broker, endpoint, behaviorsProvider, serviceProvider, logger) { _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="MqttConsumer" /> class. /// </summary> /// <param name="broker"> /// The <see cref="IBroker" /> that is instantiating the consumer. /// </param> /// <param name="endpoint"> /// The endpoint to be consumed. /// </param> /// <param name="behaviorsProvider"> /// The <see cref="IBrokerBehaviorsProvider{TBehavior}" />. /// </param> /// <param name="serviceProvider"> /// The <see cref="IServiceProvider" /> to be used to resolve the needed services. /// </param> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> public MqttConsumer( MqttBroker broker, MqttConsumerEndpoint endpoint, IBrokerBehaviorsProvider <IConsumerBehavior> behaviorsProvider, IServiceProvider serviceProvider, IInboundLogger <MqttConsumer> logger) : base(broker, endpoint, behaviorsProvider, serviceProvider, logger) { Check.NotNull(serviceProvider, nameof(serviceProvider)); _logger = Check.NotNull(logger, nameof(logger)); _clientFactory = serviceProvider.GetRequiredService <IMqttClientsCache>(); }
public ConsumerChannelManager( MqttClientWrapper mqttClientWrapper, IInboundLogger <IConsumer> logger) { _mqttClientWrapper = Check.NotNull(mqttClientWrapper, nameof(mqttClientWrapper)); _logger = Check.NotNull(logger, nameof(logger)); _channel = CreateBoundedChannel(); _readCancellationTokenSource = new CancellationTokenSource(); _readTaskCompletionSource = new TaskCompletionSource <bool>(); mqttClientWrapper.MqttClient.ApplicationMessageReceivedHandler = this; }
public InboundLoggerTests() { var serviceProvider = ServiceProviderHelper.GetServiceProvider( services => services .AddLoggerSubstitute(LogLevel.Trace) .AddSilverback() .WithConnectionToMessageBroker(options => options.AddKafka())); _loggerSubstitute = (LoggerSubstitute <InboundLoggerTests>)serviceProvider .GetRequiredService <ILogger <InboundLoggerTests> >(); _inboundLogger = serviceProvider .GetRequiredService <IInboundLogger <InboundLoggerTests> >(); }
public FatalExceptionLoggerConsumerBehaviorTests() { var serviceProvider = ServiceProviderHelper.GetServiceProvider( services => services .AddLoggerSubstitute(LogLevel.Trace) .AddSilverback() .WithConnectionToMessageBroker(options => options.AddBroker <TestBroker>())); _loggerSubstitute = (LoggerSubstitute <FatalExceptionLoggerConsumerBehavior>)serviceProvider .GetRequiredService <ILogger <FatalExceptionLoggerConsumerBehavior> >(); _inboundLogger = serviceProvider .GetRequiredService <IInboundLogger <FatalExceptionLoggerConsumerBehavior> >(); }
/// <summary> /// Initializes a new instance of the <see cref="ErrorPolicyImplementation" /> class. /// </summary> /// <param name="maxFailedAttempts"> /// The number of times this policy should be applied to the same message in case of multiple failed /// attempts. /// </param> /// <param name="excludedExceptions"> /// The collection of exception types this policy doesn't have to be applied to. /// </param> /// <param name="includedExceptions"> /// The collection of exception types this policy have to be applied to. /// </param> /// <param name="applyRule"> /// The custom apply rule function. /// </param> /// <param name="messageToPublishFactory"> /// The factory that builds the message to be published after the policy /// is applied. /// </param> /// <param name="serviceProvider"> /// The <see cref="IServiceProvider" />. /// </param> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> protected ErrorPolicyImplementation( int?maxFailedAttempts, ICollection <Type> excludedExceptions, ICollection <Type> includedExceptions, Func <IRawInboundEnvelope, Exception, bool>?applyRule, Func <IRawInboundEnvelope, object>?messageToPublishFactory, IServiceProvider serviceProvider, IInboundLogger <ErrorPolicyBase> logger) { _maxFailedAttempts = maxFailedAttempts; _excludedExceptions = Check.NotNull(excludedExceptions, nameof(excludedExceptions)); _includedExceptions = Check.NotNull(includedExceptions, nameof(includedExceptions)); _applyRule = applyRule; _messageToPublishFactory = messageToPublishFactory; _serviceProvider = Check.NotNull(serviceProvider, nameof(serviceProvider)); _logger = Check.NotNull(logger, nameof(logger)); }
public StopConsumerErrorPolicyImplementation( int?maxFailedAttempts, ICollection <Type> excludedExceptions, ICollection <Type> includedExceptions, Func <IRawInboundEnvelope, Exception, bool>?applyRule, Func <IRawInboundEnvelope, Exception, object?>?messageToPublishFactory, IServiceProvider serviceProvider, IInboundLogger <StopConsumerErrorPolicy> logger) : base( maxFailedAttempts, excludedExceptions, includedExceptions, applyRule, messageToPublishFactory, serviceProvider, logger) { }
public ValidatorConsumerBehaviorTests() { var services = new ServiceCollection(); services .AddLoggerSubstitute() .AddSilverback() .WithConnectionToMessageBroker(options => options.AddBroker <TestBroker>()); _serviceProvider = services.BuildServiceProvider(); _loggerSubstitute = (LoggerSubstitute <ValidatorConsumerBehavior>)_serviceProvider .GetRequiredService <ILogger <ValidatorConsumerBehavior> >(); _inboundLogger = _serviceProvider .GetRequiredService <IInboundLogger <ValidatorConsumerBehavior> >(); }
public RetryErrorPolicyImplementation( TimeSpan initialDelay, TimeSpan delayIncrement, int?maxFailedAttempts, ICollection <Type> excludedExceptions, ICollection <Type> includedExceptions, Func <IRawInboundEnvelope, Exception, bool>?applyRule, Func <IRawInboundEnvelope, object>?messageToPublishFactory, IServiceProvider serviceProvider, IInboundLogger <RetryErrorPolicy> logger) : base( maxFailedAttempts, excludedExceptions, includedExceptions, applyRule, messageToPublishFactory, serviceProvider, logger) { _initialDelay = initialDelay; _delayIncrement = delayIncrement; _logger = logger; }
public IntegrationLoggingBenchmark() { var serviceProvider = ServiceProviderHelper.GetServiceProvider( services => services .AddFakeLogger() .AddSilverback() .WithConnectionToMessageBroker(broker => broker.AddKafka())); _inboundLogger = serviceProvider.GetRequiredService <IInboundLogger <IntegrationLoggingBenchmark> >(); _outboundLogger = serviceProvider.GetRequiredService <IOutboundLogger <IntegrationLoggingBenchmark> >(); _inboundEnvelope = new RawInboundEnvelope( Array.Empty <byte>(), new MessageHeaderCollection { new("Test", "Test"), new(DefaultMessageHeaders.FailedAttempts, "1"), new(DefaultMessageHeaders.MessageType, "Something.Xy"), new(DefaultMessageHeaders.MessageId, "1234"), new(KafkaMessageHeaders.KafkaMessageKey, "key1234") },
/// <summary> /// Initializes a new instance of the <see cref="DeserializerConsumerBehavior" /> class. /// </summary> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> public DeserializerConsumerBehavior(IInboundLogger <DeserializerConsumerBehavior> logger) { _logger = Check.NotNull(logger, nameof(logger)); }
/// <summary> /// Initializes a new instance of the <see cref="ExactlyOnceGuardConsumerBehavior" /> class. /// </summary> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> public ExactlyOnceGuardConsumerBehavior(IInboundLogger <ExactlyOnceGuardConsumerBehavior> logger) { _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="PublisherConsumerBehavior" /> class. /// </summary> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> public PublisherConsumerBehavior(IInboundLogger <PublisherConsumerBehavior> logger) { _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="FatalExceptionLoggerConsumerBehavior" /> class. /// </summary> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> public FatalExceptionLoggerConsumerBehavior( IInboundLogger <FatalExceptionLoggerConsumerBehavior> logger) { _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="TransactionHandlerConsumerBehavior" /> class. /// </summary> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> public TransactionHandlerConsumerBehavior(IInboundLogger <TransactionHandlerConsumerBehavior> logger) { _logger = logger; }
/// <summary> /// Initializes a new instance of the <see cref="ValidatorConsumerBehavior" /> class. /// </summary> /// <param name="logger"> /// The <see cref="IInboundLogger{TCategoryName}" />. /// </param> public ValidatorConsumerBehavior(IInboundLogger <ValidatorConsumerBehavior> logger) { _logger = Check.NotNull(logger, nameof(logger)); }