diff --git a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc index 8a0f838a..e92e9bbe 100644 --- a/docs/src/main/asciidoc/spring-cloud-openfeign.adoc +++ b/docs/src/main/asciidoc/spring-cloud-openfeign.adoc @@ -343,7 +343,7 @@ public class FooConfiguration { } ---- -The circuit breaker name follows this pattern `_`. When calling a `@FeignClient` with name `foo` and the called interface method is `bar` then the circuit breaker name will be `foo_bar`. +The circuit breaker name follows this pattern `#`. When calling a `@FeignClient` with name `foo` and the called interface method is `bar` then the circuit breaker name will be `foo_bar`. [[spring-cloud-feign-circuitbreaker-fallback]] === Feign Spring Cloud CircuitBreaker Fallbacks diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreaker.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreaker.java index 13688cb6..5edf6e6f 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreaker.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreaker.java @@ -75,7 +75,7 @@ public final class FeignCircuitBreaker { public Feign build(final FallbackFactory nullableFallbackFactory) { super.invocationHandlerFactory((target, dispatch) -> new FeignCircuitBreakerInvocationHandler( - circuitBreakerFactory, feignClientName, target, dispatch, nullableFallbackFactory)); + circuitBreakerFactory, target, dispatch, nullableFallbackFactory)); return super.build(); } diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerInvocationHandler.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerInvocationHandler.java index d9911a9d..476ac033 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerInvocationHandler.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignCircuitBreakerInvocationHandler.java @@ -24,6 +24,7 @@ import java.util.Map; import java.util.function.Function; import java.util.function.Supplier; +import feign.Feign; import feign.InvocationHandlerFactory; import feign.Target; @@ -36,8 +37,6 @@ class FeignCircuitBreakerInvocationHandler implements InvocationHandler { private final CircuitBreakerFactory factory; - private final String feignClientName; - private final Target target; private final Map dispatch; @@ -46,10 +45,9 @@ class FeignCircuitBreakerInvocationHandler implements InvocationHandler { private final Map fallbackMethodMap; - FeignCircuitBreakerInvocationHandler(CircuitBreakerFactory factory, String feignClientName, Target target, + FeignCircuitBreakerInvocationHandler(CircuitBreakerFactory factory, Target target, Map dispatch, FallbackFactory nullableFallbackFactory) { this.factory = factory; - this.feignClientName = feignClientName; this.target = checkNotNull(target, "target"); this.dispatch = checkNotNull(dispatch, "dispatch"); this.fallbackMethodMap = toFallbackMethod(dispatch); @@ -75,7 +73,7 @@ class FeignCircuitBreakerInvocationHandler implements InvocationHandler { else if ("toString".equals(method.getName())) { return toString(); } - String circuitName = this.feignClientName + "_" + method.getName(); + String circuitName = Feign.configKey(target.type(), method); CircuitBreaker circuitBreaker = this.factory.create(circuitName); Supplier supplier = asSupplier(method, args); if (this.nullableFallbackFactory != null) {