Adopt new circuit breaking naming convention by default

This commit is contained in:
Ryan Baxter
2022-03-10 19:53:45 -05:00
parent 4e1859eea6
commit efbb0b8224
3 changed files with 10 additions and 12 deletions

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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 {