function invoker is conditional on input

This commit is contained in:
markfisher
2016-12-05 10:08:02 -05:00
parent 588e68f014
commit 4e7de96dc9

View File

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