From a64860abc8f1b6d7d1d1b3d5d8815c96be9f9c70 Mon Sep 17 00:00:00 2001 From: Marius Bogoevici Date: Thu, 16 Feb 2017 01:15:03 -0500 Subject: [PATCH] Copy existing `BindingProperties` values when replacing bound map Fix #810 --- .../cloud/stream/config/BindingServiceProperties.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java index a36a223a7..a7999d42c 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java @@ -127,9 +127,10 @@ public class BindingServiceProperties implements ApplicationContextAware, Enviro if (environment instanceof ConfigurableEnvironment) { // override the bindings store with the environment-initializing version if in // a Spring context + Map delegate = new TreeMap(String.CASE_INSENSITIVE_ORDER); + delegate.putAll(this.bindings); this.bindings = new EnvironmentEntryInitializingTreeMap<>((ConfigurableEnvironment) environment, - BindingProperties.class, "spring.cloud.stream.default", - new TreeMap(String.CASE_INSENSITIVE_ORDER)); + BindingProperties.class, "spring.cloud.stream.default", delegate); } }