GH-2821: Kafka Streams branching as Component bean

- When Kafka Streams branching function is provided as a Component bean,
   there is an issue where the raw class check on the return outbound
   resolvable type cuases an NPE. Fixing this issue by adding a null check
   on the return type's raw class.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2821
This commit is contained in:
Soby Chacko
2023-09-29 16:14:08 -04:00
parent 895570fb48
commit 3a52c3b3cf

View File

@@ -209,7 +209,8 @@ public class KafkaStreamsBindableProxyFactory extends AbstractBindableProxyFacto
if (bean != null && (BiFunction.class.isAssignableFrom(bean.getClass()) || BiConsumer.class.isAssignableFrom(bean.getClass()))) {
numberOfInputs = 2;
}
else if (returnType.getRawClass().isAssignableFrom(Function.class) || returnType.getRawClass().isAssignableFrom(Consumer.class)) {
else if (returnType.getRawClass() != null && (returnType.getRawClass().isAssignableFrom(Function.class)
|| returnType.getRawClass().isAssignableFrom(Consumer.class))) {
numberOfInputs = 1;
ResolvableType arg1 = returnType;