From 22ce73fd2126c298192a46dab7e909dcb2cc501b Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 22 Apr 2022 15:32:28 +0200 Subject: [PATCH] GH-2360 Fix trimmimg in multiple function definition remove leftovers from spring.cloud.streamfunction.definition Resolves #2360 --- .../cloud/stream/function/FunctionConfiguration.java | 1 + .../function/RoutingFunctionEnvironmentPostProcessor.java | 2 +- .../cloud/stream/function/ImplicitFunctionBindingTests.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java index 6fdd20f86..43b13f1a9 100644 --- a/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java +++ b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java @@ -988,6 +988,7 @@ public class FunctionConfiguration { List eligibleFunctionDefinitions = new ArrayList<>(); String[] functionDefinitions = streamFunctionProperties.getDefinition().split(";"); for (String functionDefinition : functionDefinitions) { + functionDefinition = functionDefinition.trim(); String[] functionNames = StringUtils.delimitedListToStringArray(functionDefinition.replaceAll(",", "|").trim(), "|"); boolean eligibleDefinition = true; for (int i = 0; i < functionNames.length && eligibleDefinition; i++) { diff --git a/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java index f0216bfdc..4ce172626 100644 --- a/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java +++ b/core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/RoutingFunctionEnvironmentPostProcessor.java @@ -32,7 +32,7 @@ class RoutingFunctionEnvironmentPostProcessor implements EnvironmentPostProcesso @Override public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { - String name = environment.getProperty("spring.cloud.stream.function.definition"); + String name = environment.getProperty("spring.cloud.function.definition"); if (StringUtils.hasText(name) && ( name.equals(RoutingFunction.FUNCTION_NAME) || name.contains(RoutingFunction.FUNCTION_NAME + "|") || diff --git a/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java index 523634436..34ed2de73 100644 --- a/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java +++ b/core/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java @@ -214,7 +214,7 @@ public class ImplicitFunctionBindingTests { try (ConfigurableApplicationContext context = new SpringApplicationBuilder( TestChannelBinderConfiguration.getCompleteConfiguration(NullMessagerConfiguration.class)) .web(WebApplicationType.NONE) - .run("--spring.jmx.enabled=false", "--spring.cloud.function.definition=func;funcMessage")) { + .run("--spring.jmx.enabled=false", "--spring.cloud.function.definition=func; funcMessage")) { InputDestination inputDestination = context.getBean(InputDestination.class); OutputDestination outputDestination = context.getBean(OutputDestination.class);