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

升级Spring AWS依赖后sqsMessageListenerContainerFactory Bean创建失败求助

问题解决方案:BeanCreationException无法实例化SqsMessageListenerContainerFactory

问题根源

启动报错找不到org.springframework.retry.backoff.BackOffPolicyBuilder类,是因为Spring Cloud AWS 3.x版本的SQS starter默认未引入Spring Retry依赖,但SQS消息监听容器工厂的默认配置依赖该类实现重试逻辑,导致Bean实例化失败。

可行解决方案

方案1:补充Spring Retry依赖

在Maven的pom.xml中添加Spring Retry依赖:

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>

版本无需手动指定,Spring Boot的依赖管理会自动匹配对应兼容版本(比如Spring Boot 2.7.x对应spring-retry 1.3.x)。

方案2:禁用容器工厂的重试逻辑(适用于无需重试的业务场景)

修改SQSConfig中的容器工厂配置方法,显式关闭重试:

@Bean
public SqsMessageListenerContainerFactory sqsMessageListenerContainerFactory(SqsAsyncClient sqsAsyncClient){
    return SqsMessageListenerContainerFactory.builder()
        .configure(options -> {
            options.maxMessagesPerPoll(10);
            // 禁用重试配置,避免依赖Spring Retry类
            options.retry(null);
        })
        .sqsAsyncClient(sqsAsyncClient).build();
}

验证

执行上述任一方案后,重新启动应用,BeanCreationException异常即可消除。

内容的提问来源于stack exchange,提问作者Lingamoorthy Nandyala

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:59:53