3

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

我尝试阅读 AWS Spring Cloud 文档并进行了一些谷歌搜索,但找不到答案或示例。

我的注释如下所示:

@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 读取消息的答案。

4

1 回答 1

3

我认为即使是 AWS sdk 也没有提供一种通过 groupId 使用消息的方法。groupId 基本上只是一种在 Fifo 队列中构建消息集群的机制。然后保证集群中的消息按照它们发送的顺序传递。

于 2019-11-26T21:30:05.443 回答