[
https://issues.apache.org/jira/browse/CAMEL-12927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-12927.
---------------------------------
Resolution: Won't Fix
> SQS: Optionally wait for transaction complete to send messages in SqsProducer
> -----------------------------------------------------------------------------
>
> Key: CAMEL-12927
> URL: https://issues.apache.org/jira/browse/CAMEL-12927
> Project: Camel
> Issue Type: Improvement
> Components: camel-aws
> Affects Versions: 2.22.1
> Reporter: Craig
> Priority: Major
> Fix For: Future
>
>
> 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:
> * transacted
> 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
> {code:java}
> SendMessageResult result = getClient().sendMessage(request);{code}
> like so:
> {code:java}
>
> org.springframework.transaction.support.TransactionSynchronizationManager.registerSynchronization(new
> org.springframework.transaction.support.TransactionSynchronizationAdapter() {
> @Override
> public void afterCommit() {
> SendMessageResult result = getClient().sendMessage(request);
> }
>
> });{code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)