Ensured that default property only takes affect if the actual binding property is not set.
For example if "spring.cloud.stream.bindings.output.producer.partitionCount=4" and "spring.cloud.stream.default.producer.partitionCount=1" are both set
the actual binidng property (i.e., 4) should take precedence
Resolves#1359
Set application's context as binder context once the binder is initialized to ensure identical behavior in i multi-environment scenarios.
Resolves#1384Resolves#1357
Fixesspring-cloud/spring-cloud-stream#1387
To be able to distinguish the `PartitioningInterceptor` in the
`MessageChannel` and remove it from the interceptor it would be better
to have its class as `public`
In some use-case like AWS Kinesis Binder it is important do not have
an SCSt partitioning logic, since the whole functionality is done
on the target system.
**Cherry-pick to 2.0.x**
Remove all the deprecated RxJava components from spring-cloud-stream-reactive module in favor
of using Project Reactor based types.
Fixes#1378Resolves#1379
Initial removal of parent/child context for Binders. This commit contains bare minimum of what's required while still supporting 'the old way'.
Basically implementor of a binder must do the following things:
- name your configuration file as the usual boot 'spring.factories` (no more spring.binders)
- add name attribute to the `@Bean` which declares the actual binders (e.g., `@Bean('rabbit')`)
This PR ensures that the existing functionality (the use of spring.binders) is preserved.
Resolves#1272Resolves#1361
polishing
If the binder implementation enables native multiple input binding, skip individual
consumer binding per binding target (for example - from a comma separated targets
provided as input destination property).
By default, native multiple input binding is disabled at the core framework level
and the binder implementation explicitly needs to override that to enable it.
Fixes#1365
Chaning the boolean flag for multiple input binding to multiplex
The NPE was a result of not following defensive programming practices and that is fixed.
Also, we already support both reader and writer schema being null where new ReflectDatumReader(type) is used in getDatumReader(..) operation.
That said there may still be conditions which are not supported and that is okay since in the end it's a MessageConverter and as such it is one
of the extension points of the framework allowing user to provide a custom one follwing instructions in 'User-defined Message Converters' of the reference guide.
Resolves#1294
- brought back the Metric class from the old boot
- modified Metric class slightly to adjust for the type of info available thru micrometer
- added 'meterFilter' property for metric filtering
Resolves#1324
Ensured that contentType header is set not only when it is not present but also reset if 'originalContentType' is present (to support 1.3 to 2.0 scenarios)
Resolves#1306