public RedisQueueAdapter( RedisStreamOptions options, IConnectionMultiplexerFactory connectionMultiplexerFactory, IRedisDataAdapter dataAdapter, IStreamQueueMapper streamQueueMapper, ILogger logger, string serviceId, string clusterId, string providerName) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (connectionMultiplexerFactory == null) { throw new ArgumentNullException(nameof(connectionMultiplexerFactory)); } if (dataAdapter == null) { throw new ArgumentNullException(nameof(dataAdapter)); } if (streamQueueMapper == null) { throw new ArgumentNullException(nameof(streamQueueMapper)); } if (string.IsNullOrEmpty(serviceId)) { throw new ArgumentNullException(nameof(serviceId)); } if (string.IsNullOrEmpty(clusterId)) { throw new ArgumentNullException(nameof(clusterId)); } if (string.IsNullOrEmpty(providerName)) { throw new ArgumentNullException(nameof(providerName)); } _redisStreamOptions = options; _connectionMultiplexerFactory = connectionMultiplexerFactory; ServiceId = serviceId; ClusterId = clusterId; Name = providerName; _streamQueueMapper = streamQueueMapper; _dataAdapter = dataAdapter; _logger = logger.ForContext <RedisQueueAdapter>(new Dictionary <string, object> { { "ServiceId", serviceId }, { "ProviderName", providerName } }); }
public RedisQueueAdapter( RedisStreamOptions options, IConnectionMultiplexerFactory connectionMultiplexerFactory, IRedisDataAdapter dataAdapter, IStreamQueueMapper streamQueueMapper, ILogger logger, string serviceId, string providerName) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (connectionMultiplexerFactory == null) { throw new ArgumentNullException(nameof(connectionMultiplexerFactory)); } if (dataAdapter == null) { throw new ArgumentNullException(nameof(dataAdapter)); } if (streamQueueMapper == null) { throw new ArgumentNullException(nameof(streamQueueMapper)); } if (string.IsNullOrEmpty(serviceId)) { throw new ArgumentNullException(nameof(serviceId)); } if (string.IsNullOrEmpty(providerName)) { throw new ArgumentNullException(nameof(providerName)); } _redisStreamOptions = options; _connectionMultiplexerFactory = connectionMultiplexerFactory; ServiceId = serviceId; Name = providerName; _streamQueueMapper = streamQueueMapper; _dataAdapter = dataAdapter; _logger = (logger ?? SilentLogger.Logger).ForContext <RedisQueueAdapter>(); }
public RedisQueueAdapterFactory( string name, RedisStreamOptions options, IConnectionMultiplexerFactory connectionMultiplexerFactory, HashRingStreamQueueMapperOptions queueMapperOptions, SimpleQueueCacheOptions cacheOptions, IServiceProvider serviceProvider, IOptions <ClusterOptions> clusterOptions, IRedisDataAdapter dataAdapter, ILogger logger, ISerializationManager serializationManager) { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(nameof(name)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } if (connectionMultiplexerFactory == null) { throw new ArgumentNullException(nameof(connectionMultiplexerFactory)); } if (queueMapperOptions == null) { throw new ArgumentNullException(nameof(queueMapperOptions)); } if (cacheOptions == null) { throw new ArgumentNullException(nameof(cacheOptions)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (clusterOptions == null) { throw new ArgumentNullException(nameof(clusterOptions)); } if (dataAdapter == null) { throw new ArgumentNullException(nameof(dataAdapter)); } if (serializationManager == null) { throw new ArgumentNullException(nameof(serializationManager)); } _providerName = name; _options = options; _connectionMultiplexerFactory = connectionMultiplexerFactory; _clusterOptions = clusterOptions.Value; _logger = logger.ForContext <RedisQueueAdapterFactory>(); _dataAdapter = dataAdapter; _streamQueueMapper = new HashRingBasedStreamQueueMapper(queueMapperOptions, _providerName); var microsoftLoggerFactory = serviceProvider.GetService <Microsoft.Extensions.Logging.ILoggerFactory>(); _adapterCache = new SimpleQueueAdapterCache(cacheOptions, _providerName, microsoftLoggerFactory); }