Fixesspring-cloud/spring-cloud-stream#1569
When `inheritEnvironment = true` (default), some provided properties
(including `spring.main.sources`) are not populated into the target
binder's environment, since Spring Boot relies on the presence of
the `configurationProperties` properties source which is transferred
from the parent context
* Remove `configurationProperties` from the `binderEnvironment` before
starting binder's application context
* Ensure that `spring.main.sources` is applied for the binder's
application context in the `BinderFactoryConfigurationTests`
* Fix `GreenfieldFunctionEnableBindingTests` for random HTTP port since
`8080` is too generic and clashes with build environment
* Fix `StreamListenerAnnotatedMethodArgumentsTests` for `Locale.US`
for proper assertion against validation message
* Mention `spring.profiles.active` configuration property for the
binder specific environment
Added additional tests for both MessageHeaders and Map/Collections
Fixed ByteArrayMessageConverter to ensure it handles Object if CT is octet-stream and added tests for it
Resolves#1575
Documented new Test Binder capabilities
Created initila version of migration guide
Added StreamRetryTemplate to migration guide
Updates doc with 2.1 updates
Resolves#1431Resolves#1524Resolves#1381
Fixed BindingHandlerAdvise to ensure it creates and ValidationBindHandler instead of simple BindHandler to ensure that during the merge of properties validation is not lost.
Resolves#1573
The following is the summary of changes which essentially delegate all type conversion back to MessageConverter.
The only thing remains is the `BINDER_ORIGINAL_CONTENT_TYPE` logic to ensure backward compatibility
* `MessageConverterConfigurer` was brought pretty much back to the state it was before all those questionable type conversion changes
* `BinderFactoryConfiguration` configures custom argument resolvers which will be removed as soon as https://jira.spring.io/browse/SPR-17503 is addressed.
* The two new argument resolvers, defer from their original counterparts in that they change the order of type assertion ensuring that, for example, byte[] does not match Object and would have to be sent to MessageConverter for possible conversion. These two resolvers will be removed once https://jira.spring.io/browse/SPR-17503 is addressed.
Resolves#1564Resolves#1565
Fixed support for Consumer<Flux<?>> which currently is not wrapped with FluxWrapper
NOTE: The newly created FluxedConsumerWrapper will be migrated to Spring Cloud Function after SCSt-2.1.0 and SCF-2.0.0 releases
Resolves#1539
Removed autowired dependency from AbstractMessageChannelBinder. It was lingering from the previous effort of extending Processor apps with functions.
Basically with regard to the extending the app effort functions will be composed at the end of the existing processor (if any).
Resolves#1543