diff --git a/src/main/java/org/springframework/cloud/gateway/filter/route/HystrixRouteFilter.java b/src/main/java/org/springframework/cloud/gateway/filter/route/HystrixRouteFilter.java index 7c8a8616..8bfdc58d 100644 --- a/src/main/java/org/springframework/cloud/gateway/filter/route/HystrixRouteFilter.java +++ b/src/main/java/org/springframework/cloud/gateway/filter/route/HystrixRouteFilter.java @@ -33,11 +33,10 @@ public class HystrixRouteFilter implements RouteFilter { return (exchange, chain) -> { try { RouteHystrixCommand command = new RouteHystrixCommand(setter, exchange, chain); - final Observable observable = command.toObservable(); return Mono.create(s -> { - final Subscription subscription = observable.subscribe(s::success, s::error, s::success); - s.setCancellation(subscription::unsubscribe); + Subscription sub = command.toObservable().subscribe(s::success, s::error, s::success); + s.setCancellation(sub::unsubscribe); }); } catch (Exception e) { throw new RuntimeException("Error running RouteHystrixCommand: " + commandName, e);