private AzureQueueAdapterReceiver(string azureQueueName, ILoggerFactory loggerFactory, AzureQueueDataManager queue, IQueueDataAdapter <string, IBatchContainer> dataAdapter)
 {
     this.azureQueueName = azureQueueName ?? throw new ArgumentNullException(nameof(azureQueueName));
     this.queue          = queue ?? throw new ArgumentNullException(nameof(queue));
     this.dataAdapter    = dataAdapter ?? throw new ArgumentNullException(nameof(dataAdapter));
     this.logger         = loggerFactory.CreateLogger <AzureQueueAdapterReceiver>();
     this.pending        = new List <PendingDelivery>();
 }
Пример #2
0
 public RabbitMqAdapter(RabbitMqOptions rmqOptions, IQueueDataAdapter <RabbitMqMessage, IEnumerable <IBatchContainer> > dataAdapter, string providerName, IStreamQueueMapper mapper, IRabbitMqConnectorFactory rmqConnectorFactory)
 {
     _dataAdapter         = dataAdapter;
     Name                 = providerName;
     _mapper              = mapper;
     _rmqConnectorFactory = rmqConnectorFactory;
     _rmqOptions          = rmqOptions;
     _producer            = new ThreadLocal <IRabbitMqProducer>(() => _rmqConnectorFactory.CreateProducer());
 }
Пример #3
0
 public RabbitMqAdapterReceiver(IRabbitMqConnectorFactory rmqConnectorFactory, QueueId queueId, IStreamQueueMapper mapper, IQueueDataAdapter <RabbitMqMessage, IEnumerable <IBatchContainer> > dataAdapter)
 {
     _rmqConnectorFactory = rmqConnectorFactory;
     _queueId             = queueId;
     _mapper       = mapper;
     _dataAdapter  = dataAdapter;
     _logger       = _rmqConnectorFactory.LoggerFactory.CreateLogger($"{typeof(RabbitMqAdapterReceiver).FullName}.{queueId}");
     _sequenceId   = 0;
     pending       = new List <PendingDelivery>();
     _currentGroup = new Queue <IBatchContainer>();
 }
Пример #4
0
 public AzureQueueAdapter(
     IQueueDataAdapter <string, IBatchContainer> dataAdapter,
     IAzureStreamQueueMapper streamQueueMapper,
     ILoggerFactory loggerFactory,
     AzureQueueOptions queueOptions,
     string serviceId,
     string providerName)
 {
     this.queueOptions = queueOptions;
     ServiceId         = serviceId;
     Name = providerName;
     this.streamQueueMapper = streamQueueMapper;
     this.dataAdapter       = dataAdapter;
     this.loggerFactory     = loggerFactory;
 }
Пример #5
0
 public AzureQueueAdapterFactory(
     string name,
     AzureQueueOptions options,
     SimpleQueueCacheOptions cacheOptions,
     IQueueDataAdapter <string, IBatchContainer> dataAdapter,
     IOptions <ClusterOptions> clusterOptions,
     ILoggerFactory loggerFactory)
 {
     this.providerName      = name;
     this.options           = options ?? throw new ArgumentNullException(nameof(options));
     this.dataAdapter       = dataAdapter ?? throw new ArgumentNullException(nameof(dataAdapter));;
     this.clusterOptions    = clusterOptions.Value;
     this.loggerFactory     = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
     this.streamQueueMapper = new AzureStreamQueueMapper(options.QueueNames, providerName);
     this.adapterCache      = new SimpleQueueAdapterCache(cacheOptions, this.providerName, this.loggerFactory);
 }
Пример #6
0
        public static IQueueAdapterReceiver Create(SerializationManager serializationManager, ILoggerFactory loggerFactory, string azureQueueName, string dataConnectionString, IQueueDataAdapter <CloudQueueMessage, IBatchContainer> dataAdapter, TimeSpan?messageVisibilityTimeout = null)
        {
            if (azureQueueName == null)
            {
                throw new ArgumentNullException(nameof(azureQueueName));
            }
            if (string.IsNullOrEmpty(dataConnectionString))
            {
                throw new ArgumentNullException(nameof(dataConnectionString));
            }
            if (dataAdapter == null)
            {
                throw new ArgumentNullException(nameof(dataAdapter));
            }
            if (serializationManager == null)
            {
                throw new ArgumentNullException(nameof(serializationManager));
            }

            var queue = new AzureQueueDataManager(loggerFactory, azureQueueName, dataConnectionString, messageVisibilityTimeout);

            return(new AzureQueueAdapterReceiver(serializationManager, azureQueueName, loggerFactory, queue, dataAdapter));
        }
        public static IQueueAdapterReceiver Create(ILoggerFactory loggerFactory, string azureQueueName, AzureQueueOptions queueOptions, IQueueDataAdapter <string, IBatchContainer> dataAdapter)
        {
            if (azureQueueName == null)
            {
                throw new ArgumentNullException(nameof(azureQueueName));
            }
            if (queueOptions == null)
            {
                throw new ArgumentNullException(nameof(queueOptions));
            }
            if (dataAdapter == null)
            {
                throw new ArgumentNullException(nameof(dataAdapter));
            }

            var queue = new AzureQueueDataManager(loggerFactory, azureQueueName, queueOptions);

            return(new AzureQueueAdapterReceiver(azureQueueName, loggerFactory, queue, dataAdapter));
        }