There was an always cast to FunctionInvocationWrapper even though in the case of nativeEncoding the function was not of that instance. This fixes it.
Resolves#2101
This will ensure that any exception that is thrown during the conversion by ApplicationJsonMessageMarshallingConverter are propagated. Basically the idea is that since MessageConverter has accepted the conversion via canConvert() method it is no longer necessary to expect that may be some other converter in the stack may succeed. And on top of that user can still define custom message converter
Resolves#2129Resolves#2191
Currently, when `StreamBridge` creates an output binding, the framework
applies all the available channel interceptors on it by default. This
creates unwanted side effects and the application does not have a way
to control this. Change this behavior by only applying channel interceptors
annoatated with `@GlobalChannelInterceptor`. This way, the user can
provide patterns to decide which interceptors need to be applied on
specific `StreamBridge` bindings.
Adding tests to verify.
Adding docs.
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2180
Given that RoutingFunction may actualy route to Consumer, there is no need for output binding.
This fix addresses it where no output binding is created initially and instead the output binding will be created if and when the firt output is produced.
Resolves#2168
This commit effectively reverts the changes introduced in
d9f8653e42. Basically, removing
the changes introduced for supporting multi binders when
binders are registered through spring.factories. Binders
are still expected to provide spring.binders to register them.
More native compilation support for Kafka Streams and multi binder environments.
Although these changes directly do not reflect anything native related, these
are mainly to support the usage of spring.factories in Kafka Streams binder
instead of spring.binders. We are only supporting the spring.factories model
for finding the binders in spring-native based Spring Cloud Stream applications.
resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2161Resolves#2162