Hi, (Camel version: camel-aws2-sqs-starter: 3.12.0)
I am trying to use and understand concurentConsumers with a SQS queue: from("aws2-sqs://queuexxx?concurrentConsumers=5&amazonSQSClient=#sqsClient& waitTimeSeconds=20") .process(exchange -> { System.out.println("Message received..."); }) .process(exchange -> { try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); }}); With the above queue, if I send 3 messages at the same time, I have to wait 5 seconds to see the second message ("Message received...") and 5 more seconds to see the third one. My understanding of concurentConsumers is that with a value of 5 I would see the 3 messages at the same time since 3 threads will consume them in parallel. If I add the Thread.sleep in a seda route, I'm having this behavior (= The 3 messages are read at the same time). Turning on the Camel logs it seems that the next polling is done only after the Delete for the previous message is sent (which is with a delay of 5s). I would understand the above behavior with concurentConsumers=1 but I don't with concurentConsumers=5. Could someone tell me what I've misunderstood ? Thank you in advance! Arnaud