Adopt new circuit breaking naming convention by default
This commit is contained in:
@@ -379,11 +379,7 @@ To enable Spring Cloud CircuitBreaker group set the `spring.cloud.openfeign.circ
|
||||
[[spring-clou-feign-circuitbreaker-configurationproperties]]
|
||||
=== Configuring CircuitBreakers With Configuration Properties
|
||||
|
||||
You can configure CircuitBreakers via configuration properties. To do set
|
||||
`feign.circuitbreaker.alphanumeric-ids.enabled` to `true`. Since
|
||||
you cannot use characters like `#`, `(`, `)` `,` in configuration property names we need to
|
||||
change the naming convention for the ids of the circuit breakers generated by OpenFeign. The above
|
||||
property will do this for you.
|
||||
You can configure CircuitBreakers via configuration properties.
|
||||
|
||||
For example, if you had this Feign client
|
||||
|
||||
@@ -417,6 +413,8 @@ resilience4j:
|
||||
timeoutDuration: 10s
|
||||
----
|
||||
|
||||
NOTE: If you want to switch back to the circuit breaker names used prior to Spring Cloud
|
||||
2022.0.0 you can set `spring.cloud.openfeign.circuitbreaker.alphanumeric-ids.enabled` to `false`.
|
||||
|
||||
[[spring-cloud-feign-circuitbreaker-fallback]]
|
||||
=== Feign Spring Cloud CircuitBreaker Fallbacks
|
||||
|
||||
@@ -165,16 +165,16 @@ public class FeignAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(CircuitBreakerNameResolver.class)
|
||||
@ConditionalOnProperty(value = "feign.circuitbreaker.alphanumeric-ids.enabled",
|
||||
havingValue = "false", matchIfMissing = true)
|
||||
@ConditionalOnProperty(value = "spring.cloud.openfeign.circuitbreaker.alphanumeric-ids.enabled",
|
||||
havingValue = "false")
|
||||
public CircuitBreakerNameResolver circuitBreakerNameResolver() {
|
||||
return new DefaultCircuitBreakerNameResolver();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(CircuitBreakerNameResolver.class)
|
||||
@ConditionalOnProperty(value = "feign.circuitbreaker.alphanumeric-ids.enabled",
|
||||
havingValue = "true")
|
||||
@ConditionalOnProperty(value = "spring.cloud.openfeign.circuitbreaker.alphanumeric-ids.enabled",
|
||||
havingValue = "true", matchIfMissing = true)
|
||||
public CircuitBreakerNameResolver alphanumericCircuitBreakerNameResolver() {
|
||||
return new AlphanumericCircuitBreakerNameResolver();
|
||||
}
|
||||
|
||||
@@ -36,7 +36,8 @@ public class CircuitBreakerAutoConfigurationTests {
|
||||
@SpringBootTest(classes = CircuitBreakerTests.Application.class,
|
||||
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
|
||||
value = { "spring.application.name=springcircuittest", "spring.jmx.enabled=false",
|
||||
"feign.circuitbreaker.enabled=true" })
|
||||
"spring.cloud.openfeign.circuitbreaker.enabled=true",
|
||||
"spring.cloud.openfeign.circuitbreaker.alphanumeric-ids.enabled=false"})
|
||||
@Nested
|
||||
class DefaultNamingStrategy {
|
||||
|
||||
@@ -57,8 +58,7 @@ public class CircuitBreakerAutoConfigurationTests {
|
||||
@SpringBootTest(classes = CircuitBreakerTests.Application.class,
|
||||
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
|
||||
value = { "spring.application.name=springcircuittest", "spring.jmx.enabled=false",
|
||||
"feign.circuitbreaker.enabled=true",
|
||||
"feign.circuitbreaker.alphanumeric-ids.enabled=true" })
|
||||
"spring.cloud.openfeign.circuitbreaker.enabled=true",})
|
||||
@Nested
|
||||
class AlphanumericNamingStrategy {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user