diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingProperties.java index 3d00769e3..f66fac736 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/ChannelBindingProperties.java @@ -20,7 +20,9 @@ import java.util.HashMap; import java.util.Map; import java.util.Properties; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.util.StringUtils; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -35,6 +37,9 @@ public class ChannelBindingProperties { public static final String PATH = "path"; + @Value("${spring.application.name:}") + private String springApplicationName; + private Properties consumerProperties = new Properties(); private Properties producerProperties = new Properties(); @@ -81,7 +86,8 @@ public class ChannelBindingProperties { } } // the default path of the binding is the channel name itself - return channelName; + return (StringUtils.hasText(springApplicationName)? springApplicationName + "." : "") + + channelName; } public String getTapChannelName(String channelName) { diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ChannelBindingAdapterConfigurationTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ChannelBindingAdapterConfigurationTests.java index b0f0903d6..1ac5f893b 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ChannelBindingAdapterConfigurationTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/config/ChannelBindingAdapterConfigurationTests.java @@ -28,6 +28,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.support.DefaultListableBeanFactory; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.cloud.stream.adapter.ChannelBinding; import org.springframework.cloud.stream.adapter.ChannelBindingAdapter; @@ -35,6 +36,7 @@ import org.springframework.cloud.stream.adapter.OutputChannelBinding; import org.springframework.cloud.stream.binder.local.LocalMessageChannelBinder; import org.springframework.cloud.stream.config.ChannelBindingAdapterConfigurationTests.Empty; import org.springframework.cloud.stream.utils.MessageChannelBeanDefinitionRegistryUtils; +import org.springframework.cloud.stream.utils.MockBinderConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -133,6 +135,7 @@ public class ChannelBindingAdapterConfigurationTests { @Configuration @Import({ChannelBindingAdapterConfiguration.class}) + @EnableAutoConfiguration protected static class Empty { @Bean public LocalMessageChannelBinder binder() {