From d1579518c7261875376c2932f01ede9681fce979 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Sat, 18 Jan 2020 10:01:15 +0100 Subject: [PATCH 1/2] Ensures that config token provider has no overriding bean names without this change when adding the vault token `spring.cloud.config.server.vault.token` we have 2 config token providers on the classpath, the `VaultConfiguration#configTokenProvider` and the `EnvironmentRepositoryConfiguration$DefaultConfigTokenProvider` both with the same bean name. Starting from Boot 2.2 (AFAIR) that's unacceptable by default. with this change we're changing the bean name so that we don't override the other bean name. --- .../server/config/EnvironmentRepositoryConfiguration.java | 2 +- .../cloud/config/server/config/VaultConfiguration.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java index 30b04b5d..b5c9783b 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/EnvironmentRepositoryConfiguration.java @@ -132,7 +132,7 @@ public class EnvironmentRepositoryConfiguration { protected static class DefaultConfigTokenProvider { @Bean - public ConfigTokenProvider configTokenProvider( + public ConfigTokenProvider defaultConfigTokenProvider( ObjectProvider httpRequest) { return new HttpRequestConfigTokenProvider(httpRequest); } diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/VaultConfiguration.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/VaultConfiguration.java index e2b28381..6a570232 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/VaultConfiguration.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/config/VaultConfiguration.java @@ -33,7 +33,7 @@ public class VaultConfiguration { @Bean @ConditionalOnProperty(VAULT_TOKEN_PROPERTY_NAME) - public ConfigTokenProvider configTokenProvider(Environment environment) { + public ConfigTokenProvider vaultConfigTokenProvider(Environment environment) { return new EnvironmentConfigTokenProvider(environment, VAULT_TOKEN_PROPERTY_NAME); } From 44c4b0e401b6fb8414db2e43ff9e48114cb0d8b8 Mon Sep 17 00:00:00 2001 From: contextshuffling Date: Mon, 27 Jan 2020 00:20:59 -0600 Subject: [PATCH 2/2] Use LinkedHashSet for deterministic iterations --- .../config/monitor/BasePropertyPathNotificationExtractor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java index cffa9021..0d8e2a5a 100755 --- a/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java +++ b/spring-cloud-config-monitor/src/main/java/org/springframework/cloud/config/monitor/BasePropertyPathNotificationExtractor.java @@ -17,7 +17,7 @@ package org.springframework.cloud.config.monitor; import java.util.Collection; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; @@ -35,7 +35,7 @@ public abstract class BasePropertyPathNotificationExtractor Map request) { if (requestBelongsToGitRepoManager(headers)) { if (request.get("commits") instanceof Collection) { - Set paths = new HashSet<>(); + Set paths = new LinkedHashSet<>(); @SuppressWarnings("unchecked") Collection> commits = (Collection>) request .get("commits");