Skip to content

Spring Cloud Stream binding names in properties have become case sensitive #3158

@dsibilio

Description

@dsibilio

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

  1. Define a binding via properties, e.g.: spring.cloud.stream.bindings.integrationrequests
  2. Access the binding property programmatically, using a different case for the binding name, e.g. with capital R: bindingServiceProperties.getBindings().get("integrationRequests")
  3. The bindingServiceProperties does 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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions