From e5257190c171b729a04f6f654aade05ad760e04e Mon Sep 17 00:00:00 2001 From: seanyu Date: Tue, 21 Mar 2023 11:48:12 +0800 Subject: [PATCH] fix feign --- .../feign/PolarisCircuitBreakerNameResolver.java | 5 +++-- .../feign/PolarisFeignCircuitBreakerInvocationHandler.java | 2 +- .../resttemplate/PolarisCircuitBreakerRestTemplate.java | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java index 2b1689c45..929a71d22 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisCircuitBreakerNameResolver.java @@ -36,6 +36,7 @@ public class PolarisCircuitBreakerNameResolver implements CircuitBreakerNameReso @Override public String resolveCircuitBreakerName(String feignClientName, Target target, Method method) { + String serviceName = target.name(); RequestMapping requestMapping = findMergedAnnotation(method, RequestMapping.class); String path = ""; if (requestMapping != null) { @@ -44,8 +45,8 @@ public class PolarisCircuitBreakerNameResolver implements CircuitBreakerNameReso requestMapping.path()[0]; } return "".equals(path) ? - MetadataContext.LOCAL_NAMESPACE + "#" + feignClientName : - MetadataContext.LOCAL_NAMESPACE + "#" + feignClientName + "#" + path; + MetadataContext.LOCAL_NAMESPACE + "#" + serviceName : + MetadataContext.LOCAL_NAMESPACE + "#" + serviceName + "#" + path; } } diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignCircuitBreakerInvocationHandler.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignCircuitBreakerInvocationHandler.java index d1b7f1091..803a9dde8 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignCircuitBreakerInvocationHandler.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/feign/PolarisFeignCircuitBreakerInvocationHandler.java @@ -96,7 +96,7 @@ public class PolarisFeignCircuitBreakerInvocationHandler implements InvocationHa return toString(); } - String circuitName = circuitBreakerNameResolver.resolveCircuitBreakerName(target.name(), target, method); + String circuitName = circuitBreakerNameResolver.resolveCircuitBreakerName(feignClientName, target, method); CircuitBreaker circuitBreaker = factory.create(circuitName); Supplier supplier = asSupplier(method, args); Function fallbackFunction; diff --git a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisCircuitBreakerRestTemplate.java b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisCircuitBreakerRestTemplate.java index bfcd7fac9..e7e4fcd8a 100644 --- a/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisCircuitBreakerRestTemplate.java +++ b/spring-cloud-starter-tencent-polaris-circuitbreaker/src/main/java/com/tencent/cloud/polaris/circuitbreaker/resttemplate/PolarisCircuitBreakerRestTemplate.java @@ -44,7 +44,8 @@ public @interface PolarisCircuitBreakerRestTemplate { String fallback() default ""; /** - * a fallback Class, will return a PolarisCircuitBreakerHttpResponse when any exception occurs. + * a fallback Class, will return a PolarisCircuitBreakerHttpResponse when any exception occurs. + * fallback Class must be a spring bean. * * @return PolarisCircuitBreakerFallback */