From 4ca1901417239cdb8ea7b2780f4c58de3d6f7a10 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Thu, 31 Oct 2019 16:43:41 -0400 Subject: [PATCH] Fix command key configuration. Use id as command key and class as group key. --- .../cloud/netflix/hystrix/HystrixCircuitBreakerFactory.java | 5 ++++- .../hystrix/ReactiveHystrixCircuitBreakerFactory.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerFactory.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerFactory.java index 077324ee6..4b0b91e8c 100644 --- a/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerFactory.java +++ b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerFactory.java @@ -20,6 +20,7 @@ import java.util.function.Function; import com.netflix.hystrix.HystrixCommand; import com.netflix.hystrix.HystrixCommandGroupKey; +import com.netflix.hystrix.HystrixCommandKey; import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory; import org.springframework.util.Assert; @@ -33,7 +34,9 @@ public class HystrixCircuitBreakerFactory extends CircuitBreakerFactory { private Function defaultConfiguration = id -> HystrixCommand.Setter - .withGroupKey(HystrixCommandGroupKey.Factory.asKey(id)); + .withGroupKey( + HystrixCommandGroupKey.Factory.asKey(getClass().getSimpleName())) + .andCommandKey(HystrixCommandKey.Factory.asKey(id)); public void configureDefault( Function defaultConfiguration) { diff --git a/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/ReactiveHystrixCircuitBreakerFactory.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/ReactiveHystrixCircuitBreakerFactory.java index 23d023132..db8a70eb7 100644 --- a/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/ReactiveHystrixCircuitBreakerFactory.java +++ b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/ReactiveHystrixCircuitBreakerFactory.java @@ -19,6 +19,7 @@ package org.springframework.cloud.netflix.hystrix; import java.util.function.Function; import com.netflix.hystrix.HystrixCommandGroupKey; +import com.netflix.hystrix.HystrixCommandKey; import com.netflix.hystrix.HystrixObservableCommand; import org.springframework.cloud.client.circuitbreaker.ReactiveCircuitBreaker; @@ -32,7 +33,9 @@ public class ReactiveHystrixCircuitBreakerFactory extends ReactiveCircuitBreakerFactory { private Function defaultConfiguration = id -> HystrixObservableCommand.Setter - .withGroupKey(HystrixCommandGroupKey.Factory.asKey(id)); + .withGroupKey( + HystrixCommandGroupKey.Factory.asKey(getClass().getSimpleName())) + .andCommandKey(HystrixCommandKey.Factory.asKey(id)); @Override protected ReactiveHystrixConfigBuilder configBuilder(String id) {