diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java index 4f831dd64..454d15637 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractExtendedBindingProperties.java @@ -16,6 +16,7 @@ package org.springframework.cloud.stream.binder; +import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -47,9 +48,7 @@ public abstract class AbstractExtendedBindingProperties getBindings() { - return this.bindings; - } + public abstract Map getBindings(); public void setBindings(Map bindings) { this.bindings.putAll(bindings); @@ -101,4 +100,8 @@ public abstract class AbstractExtendedBindingProperties doGetBindings() { + return Collections.unmodifiableMap(this.bindings); + } + } diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java index 7cef77766..e51db3ebf 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/utils/FooExtendedBindingProperties.java @@ -16,6 +16,8 @@ package org.springframework.cloud.stream.utils; +import java.util.Map; + import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.stream.binder.AbstractExtendedBindingProperties; import org.springframework.cloud.stream.binder.BinderSpecificPropertiesProvider; @@ -34,6 +36,10 @@ public class FooExtendedBindingProperties extends return DEFAULTS_PREFIX; } + public Map getBindings() { + return this.doGetBindings(); + } + @Override public Class getExtendedPropertiesEntryClass() { return FooBindingProperties.class;