From f4fcf1ccd02d1786fb666de52100543229b30fa7 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 4 Aug 2020 19:35:05 +0200 Subject: [PATCH] GH-573 Ensure registered functions are accounted during the lookup Resolves #573 --- .../function/context/catalog/SimpleFunctionRegistry.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java index e4932db03..1a23a949e 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java @@ -144,7 +144,9 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect if (!routing && this.declaredFunctionDefinitions.size() > 0) { if (StringUtils.hasText(definition)) { - if (this.declaredFunctionDefinitions.size() > 1 && !this.declaredFunctionDefinitions.contains(definition)) { + if (this.declaredFunctionDefinitions.size() > 1 + && !this.declaredFunctionDefinitions.contains(definition) + && !this.registrationsByName.containsKey(definition)) { logger.warn("Attempted to access un-declared function definition '" + definition + "'. Declared functions are '" + this.declaredFunctionDefinitions + "' specified via `spring.cloud.function.definition` property. If the intention is to access " + "any function available in FunctionCatalog, please remove `spring.cloud.function.definition` property.");