You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Cloud AWS 3.0.2中如何配置@SQSListener的删除策略?

Spring Cloud AWS 3.x 全局配置SQS监听确认模式(替代原deletionPolicy)

在Spring Cloud AWS 3.x版本中,原@SqsListener的deletionPolicy参数已被移除,取而代之的是通过AcknowledgementMode配置消息确认/删除策略。如果你不想通过自定义SqsMessageListenerContainerFactory并手动指定factory属性的方式实现,完全可以借助自动配置的全局属性来统一设置:

全局配置方式

通过application.yml或application.properties配置默认的确认模式,自动配置类SqsAutoConfiguration会自动将该配置应用到默认的SqsMessageListenerContainerFactory中:

YAML配置示例

spring:
  cloud:
    aws:
      sqs:
        listener:
          acknowledgement-mode: ON_SUCCESS

Properties配置示例

spring.cloud.aws.sqs.listener.acknowledgement-mode=ON_SUCCESS

使用方式

配置完成后,你的@SqsListener无需再指定factory属性,直接声明队列即可自动应用ON_SUCCESS的确认策略:

@SqsListener("myQueue")
public void handleMessage(Message message) {
    // 业务逻辑处理
}

自定义特定队列的策略

如果需要给个别队列设置不同的确认模式,才需要像你之前那样自定义命名的SqsMessageListenerContainerFactory,并在对应@SqsListener中指定factory属性。全局配置适用于大部分统一策略的场景,能减少重复代码。

内容的提问来源于stack exchange,提问作者Keith Bennett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 07:42:49