public RabbitMqSubscriber(IServiceProvider serviceProvider)
 {
     _serviceProvider    = serviceProvider;
     _busPublisher       = serviceProvider.GetRequiredService <IBusPublisher>();
     _conventionProvider = serviceProvider.GetRequiredService <IConventionProvider>();
     _channel            = serviceProvider.GetRequiredService <IConnection>().CreateModel();
     _jsonSerializer     = serviceProvider.GetRequiredService <IJsonSerializer>();
     _logger             = serviceProvider.GetService <ILogger <RabbitMqSubscriber> >();
     _options            = serviceProvider.GetRequiredService <RabbitMqOptions>();
     _qosOptions         = _options?.Qos ?? new RabbitMqOptions.QosOptions();
     if (_qosOptions.PrefetchCount < 1)
     {
         _qosOptions.PrefetchCount = 1;
     }
 }
Beispiel #2
0
 public RabbitMqSubscriber(IServiceProvider serviceProvider)
 {
     _serviceProvider     = serviceProvider;
     _channel             = _serviceProvider.GetRequiredService <IConnection>().CreateModel();
     _publisher           = _serviceProvider.GetRequiredService <IBusPublisher>();
     _rabbitMqSerializer  = _serviceProvider.GetRequiredService <IRabbitMqSerializer>();
     _conventionsProvider = _serviceProvider.GetRequiredService <IConventionsProvider>();
     _contextProvider     = _serviceProvider.GetRequiredService <IContextProvider>();
     _logger                   = _serviceProvider.GetService <ILogger <RabbitMqSubscriber> >();
     _options                  = _serviceProvider.GetService <RabbitMqOptions>();
     _pluginsExecutor          = _serviceProvider.GetService <IRabbitMqPluginsExecutor>();
     _exceptionToMessageMapper = _serviceProvider.GetService <IExceptionToMessageMapper>();
     _retries                  = _options.Retries >= 0 ? _options.Retries : 3;
     _retryInterval            = _options.RetryInterval > 0 ? _options.RetryInterval : 2;
     _qosOptions               = _options?.Qos ?? new RabbitMqOptions.QosOptions();
     if (_qosOptions.PrefetchCount < 1)
     {
         _qosOptions.PrefetchCount = 1;
     }
 }