function invoker is conditional on input
This commit is contained in:
@@ -19,6 +19,7 @@ package org.springframework.cloud.function.stream;
|
|||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.cloud.function.invoker.AbstractFunctionInvoker;
|
import org.springframework.cloud.function.invoker.AbstractFunctionInvoker;
|
||||||
import org.springframework.cloud.function.registry.FileSystemFunctionRegistry;
|
import org.springframework.cloud.function.registry.FileSystemFunctionRegistry;
|
||||||
@@ -46,6 +47,7 @@ public class StreamConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
@ConditionalOnProperty("spring.cloud.stream.bindings.input.destination")
|
||||||
public AbstractFunctionInvoker<?,?> invoker(FunctionRegistry registry) {
|
public AbstractFunctionInvoker<?,?> invoker(FunctionRegistry registry) {
|
||||||
String name = properties.getName();
|
String name = properties.getName();
|
||||||
Function<Flux<Object>, Flux<Object>> function = (name.indexOf(',') == -1)
|
Function<Flux<Object>, Flux<Object>> function = (name.indexOf(',') == -1)
|
||||||
@@ -53,4 +55,5 @@ public class StreamConfiguration {
|
|||||||
: registry.composeFunction(StringUtils.commaDelimitedListToStringArray(name));
|
: registry.composeFunction(StringUtils.commaDelimitedListToStringArray(name));
|
||||||
return new StreamListeningFunctionInvoker(function);
|
return new StreamListeningFunctionInvoker(function);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user