From 8bb7f786ee66644d460e2715291312a8719d7ebd Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Wed, 11 Dec 2019 15:59:49 -0500 Subject: [PATCH] Only set id if not already set. --- .../gateway/route/CompositeRouteDefinitionLocator.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CompositeRouteDefinitionLocator.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CompositeRouteDefinitionLocator.java index 58342d2c..a1017b02 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CompositeRouteDefinitionLocator.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CompositeRouteDefinitionLocator.java @@ -53,10 +53,12 @@ public class CompositeRouteDefinitionLocator implements RouteDefinitionLocator { .flatMap(routeDefinition -> Mono.justOrEmpty(routeDefinition.getId()) .defaultIfEmpty(idGenerator.generateId().toString()) .publishOn(Schedulers.elastic()).map(id -> { - routeDefinition.setId(id); - if (log.isDebugEnabled()) { - log.debug( - "Id set on route definition: " + routeDefinition); + if (routeDefinition.getId() == null) { + routeDefinition.setId(id); + if (log.isDebugEnabled()) { + log.debug( + "Id set on route definition: " + routeDefinition); + } } return routeDefinition; }));