diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java index b21d5f13b..60ee016f8 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ConsumerProperties.java @@ -20,6 +20,8 @@ import javax.validation.constraints.Min; import com.fasterxml.jackson.annotation.JsonInclude; +import org.springframework.cloud.stream.config.MergableProperties; + /** * Common consumer properties. * @@ -30,7 +32,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; * @author Oleg Zhurakousky */ @JsonInclude(JsonInclude.Include.NON_DEFAULT) -public class ConsumerProperties { +public class ConsumerProperties implements MergableProperties{ /** * The concurrency setting of the consumer. Default: 1. diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java index 2fd114bee..68cbe3f71 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/ProducerProperties.java @@ -23,6 +23,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.springframework.cloud.stream.config.MergableProperties; import org.springframework.expression.Expression; /** @@ -34,7 +35,7 @@ import org.springframework.expression.Expression; * @author Oleg Zhurakousky */ @JsonInclude(Include.NON_DEFAULT) -public class ProducerProperties { +public class ProducerProperties implements MergableProperties { @JsonSerialize(using = ExpressionSerializer.class) private Expression partitionKeyExpression; diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java index b2c2662f6..3e98cff99 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingProperties.java @@ -37,7 +37,7 @@ import org.springframework.validation.annotation.Validated; */ @JsonInclude(Include.NON_DEFAULT) @Validated -public class BindingProperties { +public class BindingProperties implements MergableProperties { public static final MimeType DEFAULT_CONTENT_TYPE = MimeTypeUtils.APPLICATION_JSON; @@ -153,5 +153,4 @@ public class BindingProperties { sb.deleteCharAt(sb.lastIndexOf(COMMA)); return "BindingProperties{" + sb.toString() + "}"; } - } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/EnvironmentEntryInitializingTreeMap.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/EnvironmentEntryInitializingTreeMap.java index fe37f25ac..6f2165a7b 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/EnvironmentEntryInitializingTreeMap.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/EnvironmentEntryInitializingTreeMap.java @@ -95,9 +95,10 @@ public class EnvironmentEntryInitializingTreeMap extends AbstractMap