Skip to content

Commit 73b01f8

Browse files
ukayanispencergibb
authored andcommitted
Preserves the order of route definitions.
This preserves the order in which route definitions are composited together and likewise for routes this would ensure that route definitions from properties do not lose their relative ordering. Fixes gh-1660
1 parent 429a44f commit 73b01f8

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CompositeRouteDefinitionLocator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ public CompositeRouteDefinitionLocator(Flux<RouteDefinitionLocator> delegates,
4949

5050
@Override
5151
public Flux<RouteDefinition> getRouteDefinitions() {
52-
return this.delegates.flatMap(RouteDefinitionLocator::getRouteDefinitions)
52+
return this.delegates
53+
.flatMapSequential(RouteDefinitionLocator::getRouteDefinitions)
5354
.flatMap(routeDefinition -> {
5455
if (routeDefinition.getId() == null) {
5556
return randomId().map(id -> {

spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CompositeRouteLocator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public CompositeRouteLocator(Flux<RouteLocator> delegates) {
3131

3232
@Override
3333
public Flux<Route> getRoutes() {
34-
return this.delegates.flatMap(RouteLocator::getRoutes);
34+
return this.delegates.flatMapSequential(RouteLocator::getRoutes);
3535
}
3636

3737
}

0 commit comments

Comments
 (0)