From f86cc4d3155a6f72d1711d175dd9ce86595962dc Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Tue, 17 Dec 2019 21:21:19 -0500 Subject: [PATCH] Changes from map() to doOnNext(). put() can return null if there was no entry, this caused intermittent NPE. --- .../cloud/gateway/route/CachingRouteDefinitionLocator.java | 2 +- .../cloud/gateway/route/CachingRouteLocator.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java index ef3bb0de..e1eef815 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java @@ -68,7 +68,7 @@ public class CachingRouteDefinitionLocator @Override public void onApplicationEvent(RefreshRoutesEvent event) { fetch().materialize().collect(Collectors.toList()) - .map(routes -> cache.put(CACHE_KEY, routes)).subscribe(); + .doOnNext(routes -> cache.put(CACHE_KEY, routes)).subscribe(); } @Deprecated diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteLocator.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteLocator.java index ad1272af..f5c8d636 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteLocator.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteLocator.java @@ -70,7 +70,7 @@ public class CachingRouteLocator @Override public void onApplicationEvent(RefreshRoutesEvent event) { fetch().materialize().collect(Collectors.toList()) - .map(routes -> cache.put(CACHE_KEY, routes)).subscribe(); + .doOnNext(routes -> cache.put(CACHE_KEY, routes)).subscribe(); } @Deprecated