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 {