Skip to content

Commit 845a3e5

Browse files
committed
GH-3158 Fix case sensitivity in binding names
Resolves #3158
1 parent 9286c39 commit 845a3e5

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/binding/ExplicitBindingTests.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.springframework.boot.builder.SpringApplicationBuilder;
2828
import org.springframework.cloud.stream.binder.test.OutputDestination;
2929
import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration;
30+
import org.springframework.cloud.stream.config.BindingServiceProperties;
3031
import org.springframework.context.ConfigurableApplicationContext;
3132
import org.springframework.context.annotation.Bean;
3233
import org.springframework.context.annotation.Configuration;
@@ -49,6 +50,9 @@ void explicitBindings() {
4950
assertThat(context.getBean("barin", MessageChannel.class)).isNotNull();
5051
assertThat(context.getBean("fooout", MessageChannel.class)).isNotNull();
5152
assertThat(context.getBean("barout", MessageChannel.class)).isNotNull();
53+
54+
BindingServiceProperties bindingServiceProperties = context.getBean(BindingServiceProperties.class);
55+
assertThat(bindingServiceProperties.getBindings().get("barOut")).isNotNull();
5256
}
5357
}
5458

core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.HashMap;
2121
import java.util.List;
2222
import java.util.Map;
23+
import java.util.TreeMap;
2324
import java.util.concurrent.ConcurrentHashMap;
2425

2526
import com.fasterxml.jackson.annotation.JsonInclude;
@@ -44,6 +45,7 @@
4445
import org.springframework.core.convert.support.GenericConversionService;
4546
import org.springframework.integration.support.utils.IntegrationUtils;
4647
import org.springframework.util.Assert;
48+
import org.springframework.util.LinkedCaseInsensitiveMap;
4749

4850
/**
4951
* @author Dave Syer
@@ -106,7 +108,7 @@ public class BindingServiceProperties
106108
* For example; This sets the content-type for the 'input' binding of a Sink
107109
* application: 'spring.cloud.stream.bindings.input.contentType=text/plain'
108110
*/
109-
private Map<String, BindingProperties> bindings = new ConcurrentHashMap<>();
111+
private Map<String, BindingProperties> bindings = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
110112

111113
/**
112114
* Additional per-binder properties (see {@link BinderProperties}) if more then one

0 commit comments

Comments
 (0)