diff --git a/CHANGELOG.md b/CHANGELOG.md index f733576ce..a1c8d8a8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,4 +19,5 @@ - [feat: support 2.0.0](https://github.com/Tencent/spring-cloud-tencent/pull/1458) - [feat: support 2.0.0 config](https://github.com/Tencent/spring-cloud-tencent/pull/1463) - [feat:upgrade trace plugin.](https://github.com/Tencent/spring-cloud-tencent/pull/1467) -- [feat:upgrade 2.0.0 service.](https://github.com/Tencent/spring-cloud-tencent/pull/1471) \ No newline at end of file +- [feat:upgrade 2.0.0 service.](https://github.com/Tencent/spring-cloud-tencent/pull/1471) +- [fix:fix zuul delay circuit breaker.](https://github.com/Tencent/spring-cloud-tencent/pull/1519) \ No newline at end of file diff --git a/pom.xml b/pom.xml index 9c36e0fdd..dc661f569 100644 --- a/pom.xml +++ b/pom.xml @@ -90,7 +90,7 @@ - 2.0.0.0-Hoxton.SR12 + 2.0.0.1-Hoxton.SR12 5.2.25.RELEASE diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml index 404ef14d6..e95c8ff6b 100644 --- a/spring-cloud-tencent-dependencies/pom.xml +++ b/spring-cloud-tencent-dependencies/pom.xml @@ -70,7 +70,7 @@ - 2.0.0.0-Hoxton.SR12 + 2.0.0.1-Hoxton.SR12 2.0.0.0 diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/java/com/tencent/cloud/quickstart/caller/circuitbreaker/CircuitBreakerController.java b/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/java/com/tencent/cloud/quickstart/caller/circuitbreaker/CircuitBreakerController.java index 907980025..a8d6045f5 100644 --- a/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/java/com/tencent/cloud/quickstart/caller/circuitbreaker/CircuitBreakerController.java +++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-caller-service/src/main/java/com/tencent/cloud/quickstart/caller/circuitbreaker/CircuitBreakerController.java @@ -23,7 +23,6 @@ import reactor.core.publisher.Mono; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory; -import org.springframework.cloud.client.circuitbreaker.ReactiveCircuitBreakerFactory; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -64,9 +63,6 @@ public class CircuitBreakerController { @Autowired private CircuitBreakerFactory circuitBreakerFactory; - @Autowired - private ReactiveCircuitBreakerFactory reactiveCircuitBreakerFactory; - @Autowired private WebClient.Builder webClientBuilder; @@ -178,11 +174,6 @@ public class CircuitBreakerController { .get() .uri("/quickstart/callee/circuitBreak") .retrieve() - .bodyToMono(String.class) - .transform(it -> - reactiveCircuitBreakerFactory - .create(MetadataContext.LOCAL_NAMESPACE + "QuickstartCalleeService#/quickstart/callee/circuitBreak#http#GET") - .run(it, throwable -> Mono.just("fallback: trigger the refuse for service callee")) - ); + .bodyToMono(String.class); } } diff --git a/spring-cloud-tencent-examples/quickstart-example/quickstart-zuul-service/src/main/resources/bootstrap.yml b/spring-cloud-tencent-examples/quickstart-example/quickstart-zuul-service/src/main/resources/bootstrap.yml index 3f18ce495..903f6009d 100644 --- a/spring-cloud-tencent-examples/quickstart-example/quickstart-zuul-service/src/main/resources/bootstrap.yml +++ b/spring-cloud-tencent-examples/quickstart-example/quickstart-zuul-service/src/main/resources/bootstrap.yml @@ -23,3 +23,6 @@ zuul: QuickstartCallerService: serviceId: QuickstartCallerService path: /QuickstartCallerService/** + QuickstartCalleeService: + serviceId: QuickstartCalleeService + path: /QuickstartCalleeService/** diff --git a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/zuul/EnhancedZuulPluginRunner.java b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/zuul/EnhancedZuulPluginRunner.java index 70b2d34fe..0499c3ac2 100644 --- a/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/zuul/EnhancedZuulPluginRunner.java +++ b/spring-cloud-tencent-rpc-enhancement/src/main/java/com/tencent/cloud/rpc/enhancement/zuul/EnhancedZuulPluginRunner.java @@ -35,6 +35,8 @@ import org.slf4j.LoggerFactory; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; +import static com.tencent.cloud.common.constant.ContextConstant.Zuul.POLARIS_PRE_ROUTE_TIME; + /** * Polaris circuit breaker implement in Zuul. * @@ -75,6 +77,7 @@ public class EnhancedZuulPluginRunner { enhancedPluginContext.setRequest(enhancedRequestContext); enhancedPluginContext.setOriginRequest(context); enhancedPluginContext.setLocalServiceInstance(pluginRunner.getLocalServiceInstance()); + context.set(POLARIS_PRE_ROUTE_TIME, System.currentTimeMillis()); // Run pre enhanced plugins. pluginRunner.run(EnhancedPluginType.Client.PRE, enhancedPluginContext);