Don*_*ote 6 java amazon-sqs spring-boot spring-cloud spring-cloud-aws
我正在尝试SqsListener工作,但 Spring Boot 3 做不到,它根本没有收到任何东西。当我将 Spring Boot 版本更改回 2.X 时,一切都工作正常。我使用的是 Spring Cloud 2.4.2 版本:
...
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-starter-aws-messaging</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-dependencies</artifactId>
<version>2.4.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
您能给我指出正确的 spring cloud 版本吗?我需要使用里程碑版本吗?
它不起作用,因为 spring-cloud-starter-aws-messaging 的 2.4.2 版本依赖于spring.factoriesSpring Boot 自动配置,但对此的支持已在 Spring Boot 3.0.0 中删除。请参阅https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#auto-configuration-files。
您可以通过创建以下文件来启用自动配置
src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
# content
io.awspring.cloud.autoconfigure.messaging.SqsAutoConfiguration
Run Code Online (Sandbox Code Playgroud)
但是,它可能无论如何都无法工作,因为 spring-cloud-aws 还依赖于 Spring Messaging 中的类,这些类在 Spring 6 中已弃用并删除(在 Spring Boot 3 中使用),特别是org.springframework.messaging.handler.annotation.support.PayloadArgumentResolver.
您必须等待 Spring Cloud AWS 支持 Spring Boot 3。他们正在开发 Spring Cloud AWS 3.0.0,但我认为它还没有发布日期。https://github.com/awspring/spring-cloud-aws
| 归档时间: |
|
| 查看次数: |
10412 次 |
| 最近记录: |