使用@SqsListener注释为FIFO配置消息组ID

时间:2019-06-07 03:06:45

标签: java spring-boot spring-cloud amazon-sqs spring-cloud-aws

我正在使用Spring Cloud API提供的@SqsListener来使用来自FIFO队列的消息。我想根据特定的消息组ID使用消息。不确定在何处配置此设置。

我尝试阅读AWS Spring Cloud文档并做了一些Google搜寻,但是找不到答案或示例。

我的注释如下:

@SqsListener(value = orderQueue, deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)

我有以下SQS配置:

        public QueueMessagingTemplate queueMessagingTemplate(AmazonSQSAsync amazonSQSAsync) {
            return new QueueMessagingTemplate(amazonSQSAsync);
        }

并使用以下依赖项:

            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-aws</artifactId>
            <version>2.0.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-aws-messaging</artifactId>
            <version>2.0.0.RELEASE</version>
        </dependency>

我主要是在寻找有关如何配置@SqsListener以根据消息组ID读取消息的答案。

1 个答案:

答案 0 :(得分:0)

我认为,即使AWS sdk也不提供通过其groupId使用消息的方法。 groupId基本上只是一种在Fifo队列中构建消息集群的机制。然后,可以保证群集中的邮件按发送顺序进行发送。