Avoid concurrent modification errors by copying list of filters.

Fixes gh-1073
This commit is contained in:
Spencer Gibb
2020-04-08 20:48:30 -04:00
parent 7875ba5fff
commit 6a2af16ff8

View File

@@ -226,14 +226,15 @@ public class RouteDefinitionRouteLocator
// TODO: support option to apply defaults after route specific filters?
if (!this.gatewayProperties.getDefaultFilters().isEmpty()) {
filters.addAll(loadGatewayFilters(DEFAULT_FILTERS,
this.gatewayProperties.getDefaultFilters()));
new ArrayList<>(this.gatewayProperties.getDefaultFilters())));
}
if (!routeDefinition.getFilters().isEmpty()) {
filters.addAll(loadGatewayFilters(routeDefinition.getId(),
routeDefinition.getFilters()));
new ArrayList<>(routeDefinition.getFilters())));
}
Flux.just().onErrorContinue()
AnnotationAwareOrderComparator.sort(filters);
return filters;
}