protected void startQueue(String queueName, QueueAttributes queueAttributes) { if (this.runningStateByQueue.containsKey(queueName) && this.runningStateByQueue.get(queueName)) { return; } this.runningStateByQueue.put(queueName, true); Future<?> future = getTaskExecutor().submit(new AsynchronousMessageListener(queueName, queueAttributes)); this.scheduledFutureByQueue.put(queueName, future); }
@Override public void run() { while (isQueueRunning()) { try { ReceiveMessageResult receiveMessageResult = getAmazonSqs().receiveMessage(this.queueAttributes.getReceiveMessageRequest()); CountDownLatch messageBatchLatch = new CountDownLatch(receiveMessageResult.getMessages().size()); for (Message message : receiveMessageResult.getMessages()) { if (isQueueRunning()) { MessageExecutor messageExecutor = new MessageExecutor(this.logicalQueueName, message, this.queueAttributes); getTaskExecutor().execute(new SignalExecutingRunnable(messageBatchLatch, messageExecutor));
@Override public void run() { while (isQueueRunning()) { try { ReceiveMessageResult receiveMessageResult = getAmazonSqs().receiveMessage(this.queueAttributes.getReceiveMessageRequest()); CountDownLatch messageBatchLatch = new CountDownLatch(receiveMessageResult.getMessages().size()); for (Message message : receiveMessageResult.getMessages()) { if (isQueueRunning()) { MessageExecutor messageExecutor = new MessageExecutor(this.logicalQueueName, message, this.queueAttributes); getTaskExecutor().execute(new SignalExecutingRunnable(messageBatchLatch, messageExecutor));
protected void startQueue(String queueName, QueueAttributes queueAttributes) { if (this.runningStateByQueue.containsKey(queueName) && this.runningStateByQueue.get(queueName)) { return; } this.runningStateByQueue.put(queueName, true); Future<?> future = getTaskExecutor().submit(new AsynchronousMessageListener(queueName, queueAttributes)); this.scheduledFutureByQueue.put(queueName, future); }