Closed dk98126 closed 1 year ago
Hi @dk98126, that's an known issue with elasticmq
: https://github.com/awspring/spring-cloud-aws/issues/529
We should fix this, but in the meantime you can target localstack
or AWS
itself and it'll work as expected.
Thanks.
@tomazfernandes Thank you!
Type: Bug
Component: SQS
Describe the bug I wanted to try out the new spring cloud sqs integration using
io.awspring.cloud:spring-cloud-aws-starter-sqs:3.0.0-M3
. I started docker containersoftwaremill/elasticmq-native
as a local sqs instance for testing purposes. Then I configured simple@SqsListener
(the code is provided below). I believe that spring automatically created the specified queue name in that listener annotation, as i started to see it in elasticmq ui.But then these exceptions started to appear in logs:
This specific part of this exception is the most interesting: "Value e90ad7eb-b4dd-4086-8618-46bc91a030f3 for parameter ReceiveRequestAttemptId is invalid. The request include parameter that is not valid for this queue type"
I think the cause of this problem is that
ReceiveRequestAttemptId
is only applicable for FIFO queue. But thats just a guess based on documentation insoftware.amazon.awssdk.services.sqs.model.ReceiveMessageRequest.Builder#receiveRequestAttemptId(String)
which says "This parameter applies only to FIFO (first-in-first-out) queues.".Sample
build.gradle.kts
file.This is
application.properties
file. These are default properties for elastiqmq docker container.And main class file. I have no additional configuration files.
import io.awspring.cloud.sqs.annotation.SqsListener import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication
@SpringBootApplication class SpringCloudAws3TryoutApplication {
}
fun main(args: Array) {
runApplication(*args)
}