Currently, SQS sends messages immediately not waiting for the transaction to commit. Since SQS doesn't support transactional message sending, this behavior is as expected. However, Camel could emulate transaction support for SQS by waiting for the current transaction to commit before sending the message. This would make SQS behave more in line with JMS.
In SqsConfiguration, add one new property:
When transactioned=false (default), behavior is as it is today.
When transaction=true, don't send the message until the transaction completes. In SqsProducer, wrap the call to