Given that ListenerContainerCustomizer is reggistered with the parent context and for multi-binder or binder environment customization such context is not set as a parent to binder context beans such as ListenerContainerCustomizer were not visible. This fix copies ListenerContainerCustomizer(s) from parent context to child context for such cases.
Resolves#1932
Given that StreamBridge is just a bridge and should honor whetever user sends through it, this fix ensures that message headers set by user are propagated
Resolves#1931
This way we ensure that only custom converters and converters defined by stream are included
effectively eliminating the possibility of other auto-configuration interfering with their converters
Resolves#1920
Ensured that when composing Function and Consumer no output binding is created. The initila fix was part of #1911 which addressed the reactive function/consumer combination. This fix does the same for imperative function/consumer combination
Resolves#1919
Currently the use of reactive EmitterProcessor is the only way to connect foreign sources such as HTTP with spring-cloud-stream
The newly added StreamBridgeUtils class provides a simpler mechanism to brideg non-stream application with stream application without requiring reactor API while also honoring the same type conversion and partitioning contract used by functions
Added docs
Resolves#1912
Address PR comments
Resolves#1918
Basically the Function<Flux, Mono<Void>> shoudl be treated as Consumer while allowing reference to the Flux so additional operations coudl be applied, but it will no longer result in creation of dummy output destination
Resolves#1911
Added missing support for composing reactive function to an existing legacy source. Imperative functions already had such support
Added tests as well as minor refactoring/cleanup in FunctionConfiguration
Resolves#1917
Some plishing and cleanup as well as re-enabling few tests,. but as explained in GH issue there is really nothing to fix here since the behav ior is by design.
- Expended functional support for SpEL-based partitioning of outgoing messages that was added cce66f338a to Supplier.
- Added tests
- polished docs
Resolves#1893
Consolidated code around PartitionHandler and interceptor
Consolidated ContentTypeConfiguration and the returning CompositeMessageConverter
Added support (reluctantly) to allow SpEL expressions for determining partition for function programming model. In other words something like would work
That said, it is highly recommended to never use payload as a source for any kind of expressions (input or output) as payload constitutes privileged information that should only be accessible to he producer and consumer.
Resolves#1893Resolves#1877
Delegated conversion of individual collection elements that are non-String and non-byte[] to ObjectMapper
In the future we can potentially explore delegation to Spring's ConversionService
Resolves#1898
While the original issue was addressed with the reversak of a5e990b2d0 commit
this commit simply adds a test to validate the expected behavior
Resolves#1891
Resolves#1889
- Added @ConditionalOnAvailableEndpoint to endpoint bean
definitions so that they may be managed by Spring Boot's
configuration properties.