diff --git a/applications/source/file-source/pom.xml b/applications/source/file-source/pom.xml index 3ee2de72..f6d6d405 100644 --- a/applications/source/file-source/pom.xml +++ b/applications/source/file-source/pom.xml @@ -58,6 +58,12 @@ org.springframework.cloud.stream.app stream-applications-composite-function-support ${stream-apps-core.version} + + + org.springframework.cloud.fn + splitter-function + + diff --git a/applications/stream-applications-core/common/stream-applications-composite-function-support/src/main/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingEnvironmentPostProcessor.java b/applications/stream-applications-core/common/stream-applications-composite-function-support/src/main/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingEnvironmentPostProcessor.java index 69d38fcd..eae80692 100644 --- a/applications/stream-applications-core/common/stream-applications-composite-function-support/src/main/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingEnvironmentPostProcessor.java +++ b/applications/stream-applications-core/common/stream-applications-composite-function-support/src/main/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingEnvironmentPostProcessor.java @@ -95,7 +95,7 @@ public class FunctionBindingEnvironmentPostProcessor implements EnvironmentPostP } private String functionDefinitionToChannelName(String functionDefinition) { - return functionDefinition.replaceAll("\\|", ""); + return functionDefinition.replaceAll("\\||,", ""); } private String functionDefinition(Environment environment) { diff --git a/applications/stream-applications-core/common/stream-applications-composite-function-support/src/test/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingsEnvironmentPostProcessorTests.java b/applications/stream-applications-core/common/stream-applications-composite-function-support/src/test/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingsEnvironmentPostProcessorTests.java index 9445e6f6..22ed89dc 100644 --- a/applications/stream-applications-core/common/stream-applications-composite-function-support/src/test/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingsEnvironmentPostProcessorTests.java +++ b/applications/stream-applications-core/common/stream-applications-composite-function-support/src/test/java/org/springframework/cloud/stream/app/composite/function/common/FunctionBindingsEnvironmentPostProcessorTests.java @@ -37,6 +37,17 @@ public class FunctionBindingsEnvironmentPostProcessorTests { assertThat(context.getEnvironment().getProperty("spring.cloud.stream.function.bindings.firstFunctionsecondFunction-in-0")) .isEqualTo("input"); } + @Test + void destinationBindingsWithCommaDelimiter() { + ApplicationContext context = new SpringApplication(TestApp.class).run( + "--spring.cloud.stream.bindings.output.destination=foo", + "--spring.cloud.stream.bindings.input.destination=bar", + "--spring.cloud.function.definition=firstFunction,secondFunction"); + assertThat(context.getEnvironment().getProperty("spring.cloud.stream.function.bindings.firstFunctionsecondFunction-out-0")) + .isEqualTo("output"); + assertThat(context.getEnvironment().getProperty("spring.cloud.stream.function.bindings.firstFunctionsecondFunction-in-0")) + .isEqualTo("input"); + } @SpringBootApplication static class TestApp {