public AwsSqsBackgroundWorkerFactory(AwsSqsServer sqsServer)
        {
            if (sqsServer == null)
            {
                throw new ArgumentNullException("sqsServer");
            }

            this.SqsServer = sqsServer;
        }
Exemple #2
0
        public AwsSqsQueueHandlerWorker(
            ISqsClient sqsClient,
            // IMessageCoordinator messageCoordinator,
            AwsSqsServer sqsServer,
            Type messageType,
            string queueName,
            string queueUrl,
            Action <IQueueHandlerBackgroundWorker, Exception> errorHandler,
            int waitTimeInSeconds,
            decimal maxNumberOfMessages,
            decimal messageVisibilityTimeout)
            : base(queueName, errorHandler)
        {
            if (sqsClient == null)
            {
                throw new ArgumentNullException("sqsClient");
            }
            if (sqsServer == null)
            {
                throw new ArgumentNullException("sqsServer");
            }
            // if (messageCoordinator == null) throw new ArgumentNullException("messageCoordinator");
            if (messageType == null)
            {
                throw new ArgumentNullException("messageType");
            }
            if (waitTimeInSeconds > 20)
            {
                throw new ArgumentException("WaitTimeInSeconds must be a value between 0 and 20 seconds.", "waitTimeInSeconds");
            }

            if (maxNumberOfMessages < 1)
            {
                throw new ArgumentException("MaxNumberOfMessages must be a minimum value of 1.", "maxNumberOfMessages");
            }

            this.SqsClient                = sqsClient;
            this.MqServer                 = sqsServer;
            this.MessageCoordinator       = sqsServer; // messageCoordinator;
            this.MessageType              = messageType;
            this.QueueName                = queueName; // queue.Key;
            this.QueueUrl                 = queueUrl;  // queue.Value;
            this.WaitTimeInSeconds        = waitTimeInSeconds;
            this.MaxNumberOfMessages      = maxNumberOfMessages;
            this.MessageVisibilityTimeout = messageVisibilityTimeout;
        }
Exemple #3
0
        public AwsSqsMessageFactory(ISqsClient sqsClient, AwsSqsServer mqServer, IDictionary <string, string> queueUrls)
        {
            if (sqsClient == null)
            {
                throw new ArgumentNullException("sqsClient");
            }
            if (mqServer == null)
            {
                throw new ArgumentNullException("mqServer");
            }
            if (queueUrls == null)
            {
                throw new ArgumentNullException("queueUrls");
            }

            this.queueUrls = queueUrls;
            this.SqsClient = sqsClient;
            this.MqServer  = mqServer;
        }
        public AwsSqsMessageHandlerWorker(ISqsClient sqsClient, AwsSqsServer mqServer, IDictionary <string, string> queueUrls, IMessageHandler messageHandler, string queueName, Action <IMessageHandlerBackgroundWorker, Exception> errorHandler)
            : base(messageHandler, queueName, errorHandler)
        {
            if (sqsClient == null)
            {
                throw new ArgumentNullException("sqsClient");
            }
            if (mqServer == null)
            {
                throw new ArgumentNullException("mqServer");
            }
            if (queueUrls == null)
            {
                throw new ArgumentNullException("queueUrls");
            }

            SqsClient = sqsClient;
            MqServer  = mqServer;
            QueueUrls = queueUrls;
        }