예제 #1
0
 protected ThrottlingMessageReceiver(ConcurrentHandlerLimitSetting concurrentHandlerLimit, IGlobalHandlerThrottle globalHandlerThrottle, ILogger logger)
 {
     ConcurrentHandlerLimit = concurrentHandlerLimit;
     _logger = logger;
     _globalHandlerThrottle = globalHandlerThrottle;
     _localHandlerThrottle = new SemaphoreSlim(concurrentHandlerLimit, concurrentHandlerLimit);
 }
예제 #2
0
 protected ThrottlingMessageReceiver(ConcurrentHandlerLimitSetting concurrentHandlerLimit, IGlobalHandlerThrottle globalHandlerThrottle, ILogger logger)
 {
     ConcurrentHandlerLimit = concurrentHandlerLimit;
     _logger = logger;
     _globalHandlerThrottle = globalHandlerThrottle;
     _localHandlerThrottle  = new SemaphoreSlim(concurrentHandlerLimit, concurrentHandlerLimit);
 }
예제 #3
0
        public InProcessQueueReceiver(string queuePath,
                                      ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                      InProcessMessageStore messageStore,
                                      IGlobalHandlerThrottle globalHandlerThrottle,
                                      ILogger logger) : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
        {
            _queuePath    = queuePath;
            _messageStore = messageStore;

            _messageQueue = new ThreadSafeLazy <AsyncBlockingCollection <NimbusMessage> >(() => _messageStore.GetOrCreateMessageQueue(_queuePath));
        }
예제 #4
0
        public InProcessQueueReceiver(string queuePath,
                                      ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                      InProcessMessageStore messageStore,
                                      IGlobalHandlerThrottle globalHandlerThrottle,
                                      ILogger logger) : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
        {
            _queuePath = queuePath;
            _messageStore = messageStore;

            _messageQueue = new ThreadSafeLazy<AsyncBlockingCollection<NimbusMessage>>(() => _messageStore.GetOrCreateMessageQueue(_queuePath));
        }
 public AzureServiceBusQueueMessageReceiver(IBrokeredMessageFactory brokeredMessageFactory,
                                            IQueueManager queueManager,
                                            string queuePath,
                                            ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                            IGlobalHandlerThrottle globalHandlerThrottle,
                                            ILogger logger)
     : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
 {
     _queueManager           = queueManager;
     _queuePath              = queuePath;
     _logger                 = logger;
     _brokeredMessageFactory = brokeredMessageFactory;
 }
 public AzureServiceBusQueueMessageReceiver(IBrokeredMessageFactory brokeredMessageFactory,
                                              IQueueManager queueManager,
                                              string queuePath,
                                              ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                              IGlobalHandlerThrottle globalHandlerThrottle,
                                              ILogger logger)
     : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
 {
     _queueManager = queueManager;
     _queuePath = queuePath;
     _logger = logger;
     _brokeredMessageFactory = brokeredMessageFactory;
 }
예제 #7
0
 public RedisMessageReceiver(string redisKey,
                             Func <ConnectionMultiplexer> connectionMultiplexerFunc,
                             Func <IDatabase> databaseFunc,
                             ISerializer serializer,
                             ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                             IGlobalHandlerThrottle globalHandlerThrottle,
                             ILogger logger) : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
 {
     _redisKey = redisKey;
     _connectionMultiplexerFunc = connectionMultiplexerFunc;
     _databaseFunc = databaseFunc;
     _serializer   = serializer;
     _logger       = logger;
 }
예제 #8
0
 public RedisMessageReceiver(string redisKey,
                             Func<ConnectionMultiplexer> connectionMultiplexerFunc,
                             Func<IDatabase> databaseFunc,
                             ISerializer serializer,
                             ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                             IGlobalHandlerThrottle globalHandlerThrottle,
                             ILogger logger) : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
 {
     _redisKey = redisKey;
     _connectionMultiplexerFunc = connectionMultiplexerFunc;
     _databaseFunc = databaseFunc;
     _serializer = serializer;
     _logger = logger;
 }
 public WindowsServiceBusSubscriptionMessageReceiver(IQueueManager queueManager,
                                                     string topicPath,
                                                     string subscriptionName,
                                                     ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                                     IBrokeredMessageFactory brokeredMessageFactory,
                                                     IGlobalHandlerThrottle globalHandlerThrottle,
                                                     ILogger logger)
     : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
 {
     _queueManager           = queueManager;
     _topicPath              = topicPath;
     _subscriptionName       = subscriptionName;
     _brokeredMessageFactory = brokeredMessageFactory;
     _logger = logger;
 }
 public InProcessSubscriptionReceiver(Subscription subscription,
                                      ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                      InProcessMessageStore messageStore,
                                      IGlobalHandlerThrottle globalHandlerThrottle,
                                      ILogger logger)
     : base(
         InProcessTransport.FullyQualifiedSubscriptionPath(subscription.TopicPath, subscription.SubscriptionName),
         concurrentHandlerLimit,
         messageStore,
         globalHandlerThrottle,
         logger)
 {
     _subscription = subscription;
     _messageStore = messageStore;
 }
 public WindowsServiceBusSubscriptionMessageReceiver(IQueueManager queueManager,
                                                     string topicPath,
                                                     string subscriptionName,
                                                     ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                                     IBrokeredMessageFactory brokeredMessageFactory,
                                                     IGlobalHandlerThrottle globalHandlerThrottle,
                                                     ILogger logger)
     : base(concurrentHandlerLimit, globalHandlerThrottle, logger)
 {
     _queueManager = queueManager;
     _topicPath = topicPath;
     _subscriptionName = subscriptionName;
     _brokeredMessageFactory = brokeredMessageFactory;
     _logger = logger;
 }
 public InProcessSubscriptionReceiver(Subscription subscription,
                                      ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                      InProcessMessageStore messageStore,
                                      IGlobalHandlerThrottle globalHandlerThrottle,
                                      ILogger logger)
     : base(
         InProcessTransport.FullyQualifiedSubscriptionPath(subscription.TopicPath, subscription.SubscriptionName),
         concurrentHandlerLimit,
         messageStore,
         globalHandlerThrottle,
         logger)
 {
     _subscription = subscription;
     _messageStore = messageStore;
 }
예제 #13
0
 public WindowsServiceBusTransport(ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                   IBrokeredMessageFactory brokeredMessageFactory,
                                   IGlobalHandlerThrottle globalHandlerThrottle,
                                   ILogger logger,
                                   IQueueManager queueManager,
                                   Func <NamespaceManager> namespaceManager,
                                   IRetry retry)
 {
     _queueManager           = queueManager;
     _namespaceManager       = namespaceManager;
     _retry                  = retry;
     _brokeredMessageFactory = brokeredMessageFactory;
     _globalHandlerThrottle  = globalHandlerThrottle;
     _concurrentHandlerLimit = concurrentHandlerLimit;
     _logger                 = logger;
 }
예제 #14
0
 public WindowsServiceBusTransport(ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                   IBrokeredMessageFactory brokeredMessageFactory,
                                   IGlobalHandlerThrottle globalHandlerThrottle,
                                   ILogger logger,
                                   IQueueManager queueManager,
                                   Func<NamespaceManager> namespaceManager,
                                   IRetry retry)
 {
     _queueManager = queueManager;
     _namespaceManager = namespaceManager;
     _retry = retry;
     _brokeredMessageFactory = brokeredMessageFactory;
     _globalHandlerThrottle = globalHandlerThrottle;
     _concurrentHandlerLimit = concurrentHandlerLimit;
     _logger = logger;
 }
예제 #15
0
 public AzureServiceBusTransport(ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                 IBrokeredMessageFactory brokeredMessageFactory,
                                 IGlobalHandlerThrottle globalHandlerThrottle,
                                 ILogger logger,
                                 IQueueManager queueManager,
                                 IRetry retry,
                                 IDependencyResolver dependencyResolver,
                                 ISqlFilterExpressionGenerator sqlFilterExpressionGenerator)
 {
     _queueManager                 = queueManager;
     _retry                        = retry;
     _dependencyResolver           = dependencyResolver;
     _sqlFilterExpressionGenerator = sqlFilterExpressionGenerator;
     _brokeredMessageFactory       = brokeredMessageFactory;
     _globalHandlerThrottle        = globalHandlerThrottle;
     _concurrentHandlerLimit       = concurrentHandlerLimit;
     _logger                       = logger;
 }
예제 #16
0
 public AzureServiceBusTransport(ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                 IBrokeredMessageFactory brokeredMessageFactory,
                                 IGlobalHandlerThrottle globalHandlerThrottle,
                                 ILogger logger,
                                 IQueueManager queueManager,
                                 Func<NamespaceManager> namespaceManager,
                                 IRetry retry,
                                 IDependencyResolver dependencyResolver,
                                 ISqlFilterExpressionGenerator sqlFilterExpressionGenerator)
 {
     _queueManager = queueManager;
     _namespaceManager = namespaceManager;
     _retry = retry;
     _dependencyResolver = dependencyResolver;
     _sqlFilterExpressionGenerator = sqlFilterExpressionGenerator;
     _brokeredMessageFactory = brokeredMessageFactory;
     _globalHandlerThrottle = globalHandlerThrottle;
     _concurrentHandlerLimit = concurrentHandlerLimit;
     _logger = logger;
 }
예제 #17
0
 public RedisSubscriptionReceiver(Subscription subscription,
                                  Func <ConnectionMultiplexer> connectionMultiplexerFunc,
                                  Func <IDatabase> databaseFunc,
                                  ISerializer serializer,
                                  ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                  IGlobalHandlerThrottle globalHandlerThrottle,
                                  ILogger logger,
                                  IRetry retry)
     : base(
         subscription.SubscriptionMessagesRedisKey,
         connectionMultiplexerFunc,
         databaseFunc,
         serializer,
         concurrentHandlerLimit,
         globalHandlerThrottle,
         logger)
 {
     _subscription = subscription;
     _databaseFunc = databaseFunc;
     _retry        = retry;
 }
예제 #18
0
 public RedisSubscriptionReceiver(Subscription subscription,
                                  Func<ConnectionMultiplexer> connectionMultiplexerFunc,
                                  Func<IDatabase> databaseFunc,
                                  ISerializer serializer,
                                  ConcurrentHandlerLimitSetting concurrentHandlerLimit,
                                  IGlobalHandlerThrottle globalHandlerThrottle,
                                  ILogger logger,
                                  IRetry retry)
     : base(
         subscription.SubscriptionMessagesRedisKey,
         connectionMultiplexerFunc,
         databaseFunc,
         serializer,
         concurrentHandlerLimit,
         globalHandlerThrottle,
         logger)
 {
     _subscription = subscription;
     _databaseFunc = databaseFunc;
     _retry = retry;
 }