Spring Cloud 2022.0.1迁移:@EnableCircuitBreaker与@EnableEurekaClient适配
Spring Cloud 2022.0.1 注解适配指南
1. 替换 @EnableEurekaClient
Spring Cloud 2022.0.1(2022.x系列)已逐步移除Netflix专属组件的默认支持,@EnableEurekaClient属于Netflix Eureka的专属注解,现在推荐使用通用服务发现注解替代:
- 导入语句修改为:
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; - 应用类上替换注解:
该注解兼容Eureka、Consul等多种注册中心,功能与原@EnableDiscoveryClient@EnableEurekaClient完全一致。若项目仍依赖Eureka客户端,需确保引入对应依赖:<!-- Maven 依赖示例 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>// Gradle 依赖示例 implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
2. 替换 @EnableCircuitBreaker
原@EnableCircuitBreaker已被标记为废弃,Spring Cloud 2022.x使用复数形式的统一断路器注解:
- 导入语句修改为:
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreakers; - 应用类上替换注解:
若使用具体的断路器实现(如Resilience4j),需引入对应starter依赖,以Resilience4j为例:@EnableCircuitBreakers<!-- Maven 依赖示例 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId> </dependency>// Gradle 依赖示例 implementation 'org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j'
内容的提问来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

