Description
org.apache.camel.component.aws.sqs.SqsConsumer creates a TimeoutExtender task for each message received in a batch, but these tasks should be started before processing the messages.
Error can be reproduced as follows:
1. Create an SQS-consuming route using maxMessagesPerPoll=10, extendMessageVisibility=true, visibilityTimeout=30, waitTimeSeconds=20.
2. Add a process step in the route which just sleeps for a long time.
3. Put 20-30 messages on the SQS queue.
4. Start the route.
5. Let's say the SQS consumer reads off 10 messages.
6. Observe in the AWS SQS console that 10 messages are in-flight.
7. After 30 seconds you can observe that only 1 message is in-flight. This is incorrect.