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.
The call to getObject() may result in NPE if 'type' is null. Regardless of why that may be the getObject() will simply return null instead of throwing an exception
Resolves#1882
Whe framework creates child context it contains different set of listeners then the ones that are in parent. Such child context was created whenevr explicit binder 'environment' was provided. And because BindingCreatedEvent was fired on parent application context it was never acted upon thus preventing subscription on the reactive Supplier
Resolves#1880
Addressed native encoding issue similar to the way it was done for the Supplier in #1885 where functions that are configured with useNativeEncoding should be looked up with no content type provided ensuring no output conversion is performed.
Resolves#1883