Replies: 2 comments 1 reply
-
Hi @achuinard, thanks for bringing this up. SQS works a bit differently from other queuing systems, as it doesn't have a For the default behavior I don't think we should retry immediately as it's a good practice to have some backoff applied. So I believe this is a fair behavior overall for OOTB functionality. I agree we could support OOTB customizable behavior though, and we already do to some extent. You should be able to implement an ErrorHandler and use the It's even possible to create more complex behavior such as exponential backoff delays based on We should be able to incorporate an I'll open an issue for this feature request. How does that all sound? Please let me know if you have any questions or suggestions. |
Beta Was this translation helpful? Give feedback.
-
Actually, we should be able achieve this functionality by using the Visibility implementation object provided in the |
Beta Was this translation helpful? Give feedback.
-
I am moving an older SQS consumer app that used to use JMS with https://github.com/awslabs/amazon-sqs-java-messaging-lib to now use the new Spring Cloud AWS Starter with @SqsListener annotations.
However, my understanding is that my JMS listener used to immediately report a processing failure back to SQS, which would cause SQS to re-fire / redrive the message and try again. However, this new SQS consumer seems to not report failures at all back to AWS, instead just relying on AWS to refire the message based on the SQS visibility timeout.
Doesn't it make more sense for my app to immediately report failures and retry? Is this something configurable with the new Spring Cloud starter? Or maybe I'm not understanding something 100% right.
Beta Was this translation helpful? Give feedback.
All reactions