Example #1
0
        private void CreateSubscriptionListener(SqsQueueBase queue, string messageTypeName)
        {
            var sqsSubscriptionListener = new SqsNotificationListener(queue, Bus.SerialisationRegister, Bus.Monitor, _subscriptionConfig.OnError, Bus.MessageLock);
            Bus.AddNotificationTopicSubscriber(messageTypeName, sqsSubscriptionListener);

            if (_subscriptionConfig.MaxAllowedMessagesInFlight.HasValue)
            {
                sqsSubscriptionListener.WithMaximumConcurrentLimitOnMessagesInFlightOf(_subscriptionConfig.MaxAllowedMessagesInFlight.Value);
            }

            if (_subscriptionConfig.MessageProcessingStrategy != null)
            {
                sqsSubscriptionListener.WithMessageProcessingStrategy(_subscriptionConfig.MessageProcessingStrategy);
            }
        }
        private void CreateSubscriptionListener <T>(string region, SqsQueueBase queue) where T : Message
        {
            var sqsSubscriptionListener = new SqsNotificationListener(queue, Bus.SerialisationRegister, Bus.Monitor, _subscriptionConfig.OnError, Bus.MessageLock);

            sqsSubscriptionListener.Subscribers.Add(new Subscriber(typeof(T)));
            Bus.AddNotificationSubscriber(region, sqsSubscriptionListener);

            if (_subscriptionConfig.MaxAllowedMessagesInFlight.HasValue)
            {
                sqsSubscriptionListener.WithMaximumConcurrentLimitOnMessagesInFlightOf(_subscriptionConfig.MaxAllowedMessagesInFlight.Value);
            }

            if (_subscriptionConfig.MessageProcessingStrategy != null)
            {
                sqsSubscriptionListener.WithMessageProcessingStrategy(_subscriptionConfig.MessageProcessingStrategy);
            }
        }
Example #3
0
        private void CreateSubscriptionListener <T>(string region, SqsQueueBase queue)
            where T : Message
        {
            INotificationSubscriber subscriber = CreateSubscriber(queue);

            subscriber.Subscribers.Add(new Subscriber(typeof(T)));

            Bus.AddNotificationSubscriber(region, subscriber);

            // TODO Concrete type check for backwards compatibility for now.
            // Refactor the interface for v7 to allow this to be done against the interface.
            if (subscriber is SqsNotificationListener sqsSubscriptionListener)
            {
                if (_subscriptionConfig.MaxAllowedMessagesInFlight.HasValue)
                {
                    sqsSubscriptionListener.WithMaximumConcurrentLimitOnMessagesInFlightOf(_subscriptionConfig.MaxAllowedMessagesInFlight.Value);
                }

                if (_subscriptionConfig.MessageProcessingStrategy != null)
                {
                    sqsSubscriptionListener.WithMessageProcessingStrategy(_subscriptionConfig.MessageProcessingStrategy);
                }
            }
        }
Example #4
0
 private void CreateSubscriptionListener <T>(string region, string subscriptionGroup, SqsQueueBase queue)
     where T : Message
 {
     Bus.AddQueue(region, subscriptionGroup, queue);
 }