This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-3.14.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.14.x by this push: new 4775dca1808 CAMEL-16287 camel-aws2-sqs should use pagination for deciding which aws sqs queues it should create (#8113) 4775dca1808 is described below commit 4775dca180853c04a81a8aa31510057351fa07cd Author: George Ladutsko <ladut...@gmail.com> AuthorDate: Fri Aug 5 08:15:49 2022 +0300 CAMEL-16287 camel-aws2-sqs should use pagination for deciding which aws sqs queues it should create (#8113) --- .../camel/component/aws2/sqs/Sqs2Endpoint.java | 25 ++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java index 91fdfea6d70..979a9df6a6a 100644 --- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java +++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Endpoint.java @@ -166,23 +166,30 @@ public class Sqs2Endpoint extends ScheduledPollEndpoint implements HeaderFilterS queueUrl = getQueueUrlResult.queueUrl(); } else { // check whether the queue already exists - boolean done = false; - while (!done) { - ListQueuesResponse listQueuesResult - = client.listQueues(ListQueuesRequest.builder().maxResults(1000).build()); + String queueNamePath = "/" + configuration.getQueueName(); + ListQueuesRequest.Builder listQueuesRequestBuilder + = ListQueuesRequest.builder().maxResults(1000).queueNamePrefix(configuration.getQueueName()); + + for (;;) { + ListQueuesResponse listQueuesResult = client.listQueues(listQueuesRequestBuilder.build()); for (String url : listQueuesResult.queueUrls()) { - if (url.endsWith("/" + configuration.getQueueName())) { + if (url.endsWith(queueNamePath)) { queueUrl = url; LOG.trace("Queue available at '{}'.", queueUrl); break; } } - if (listQueuesResult.nextToken() == null) { - done = true; - continue; + + if (queueUrl != null) { + break; } + String token = listQueuesResult.nextToken(); - listQueuesResult = client.listQueues(ListQueuesRequest.builder().nextToken(token).build()); + if (token == null) { + break; + } + + listQueuesRequestBuilder = listQueuesRequestBuilder.nextToken(token); } } }