From f826a265df479164e1f9e006d14dfcbcbc01d9fb Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 11 Apr 2025 14:35:24 +0200 Subject: [PATCH] GH-1262 Ensure method is checked for being a factory method Resolves #1262 --- .../cloud/function/context/config/FunctionContextUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/FunctionContextUtils.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/FunctionContextUtils.java index d0f1f5a97..27c0c6239 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/FunctionContextUtils.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/FunctionContextUtils.java @@ -27,6 +27,8 @@ import org.springframework.beans.factory.config.ConstructorArgumentValues; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.cloud.function.context.catalog.FunctionTypeUtils; +import org.springframework.context.annotation.Bean; +import org.springframework.core.annotation.AnnotationUtils; import org.springframework.core.io.Resource; import org.springframework.core.type.MethodMetadata; import org.springframework.util.ClassUtils; @@ -96,7 +98,7 @@ public abstract class FunctionContextUtils { if (definition instanceof RootBeanDefinition) { RootBeanDefinition root = (RootBeanDefinition) definition; for (Method method : getCandidateMethods(factory, root)) { - if (method.getName().equals(methodName)) { + if (method.getName().equals(methodName) && AnnotationUtils.findAnnotation(method, Bean.class) != null) { return method.getParameterTypes(); } }