diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidator.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidator.java index e31fc3797ae..e9f6dd5a62a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidator.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveTokenValidator.java @@ -24,9 +24,8 @@ import java.security.Signature; import java.security.spec.InvalidKeySpecException; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; +import java.util.Collections; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; import reactor.core.publisher.Mono; @@ -44,7 +43,7 @@ class ReactiveTokenValidator { private final ReactiveCloudFoundrySecurityService securityService; - private volatile ConcurrentMap cachedTokenKeys = new ConcurrentHashMap<>(); + private volatile Map cachedTokenKeys = Collections.emptyMap(); ReactiveTokenValidator(ReactiveCloudFoundrySecurityService securityService) { this.securityService = securityService; @@ -92,7 +91,7 @@ class ReactiveTokenValidator { } private void cacheTokenKeys(Map tokenKeys) { - this.cachedTokenKeys = new ConcurrentHashMap<>(tokenKeys); + this.cachedTokenKeys = Map.copyOf(tokenKeys); } private boolean hasValidSignature(Token token, String key) {