-
Notifications
You must be signed in to change notification settings - Fork 631
Description
Describe the issue
Starting from afc8fa2 (v4.3.0), Spring Cloud Stream bindings now do need a case sensitive match between the name in the property and in the code.
The commit above was made due to performance reasons and does not include any considerations about this breaking change, neither do the release notes for v4.3.0 which was a minor bump over v4.2.x and should probably not have included this breaking change.
To Reproduce
- Define a binding via properties, e.g.:
spring.cloud.stream.bindings.integrationrequests - Access the binding property programmatically, using a different case for the binding name, e.g. with capital
R:bindingServiceProperties.getBindings().get("integrationRequests") - The
bindingServicePropertiesdoes not find any bindings
Version of the framework
=
v4.3.0-M2
Expected behavior
The org.springframework.cloud.stream.config.BindingServiceProperties used to fetch bindings in a case-insensitive way before this unexpected breaking change.
Additional context
It would be nice to restore the same, case insensitive, behavior since this was not appropriately advertised as a breaking change and it's not clear why the behavior should change either.
Release notes related to this change for v4.3.0 simply state:
🐞 Bug Fixes
- Longer Startup Times Post Spring-Boot 3.4.0 Upgrade Longer Startup Times Post Spring-Boot 3.4.0 Upgrade #3076