From caee17dd751939dbe7a8235308d472ae0de8e481 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 26 Mar 2024 16:46:18 +0100 Subject: [PATCH] Add KotlinUtils --- .../context/catalog/BeanFactoryAwareFunctionRegistry.java | 5 ++++- spring-cloud-function-samples/pom.xml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistry.java index 31fa6e41f..e62b8a8b6 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/BeanFactoryAwareFunctionRegistry.java @@ -44,6 +44,7 @@ import org.springframework.cloud.function.context.config.KotlinLambdaToFunctionA import org.springframework.cloud.function.context.config.RoutingFunction; import org.springframework.cloud.function.core.FunctionInvocationHelper; import org.springframework.cloud.function.json.JsonMapper; +import org.springframework.cloud.function.utils.KotlinUtils; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.support.GenericApplicationContext; @@ -147,6 +148,7 @@ public class BeanFactoryAwareFunctionRegistry extends SimpleFunctionRegistry imp logger.debug("Skipping function '" + functionName + "' since it is already present"); } else { + Object functionCandidate = this.discoverFunctionInBeanFactory(functionName); if (functionCandidate != null) { Type functionType = null; @@ -157,7 +159,8 @@ public class BeanFactoryAwareFunctionRegistry extends SimpleFunctionRegistry imp else if (functionCandidate instanceof BiFunction || functionCandidate instanceof BiConsumer) { functionRegistration = this.registerMessagingBiFunction(functionCandidate, functionName); } - else if (KotlinDetector.isKotlinType(functionCandidate.getClass())) { + //else if (KotlinDetector.isKotlinType(functionCandidate.getClass())) { + else if (KotlinUtils.isKotlinType(functionCandidate)) { KotlinLambdaToFunctionAutoConfiguration.KotlinFunctionWrapper wrapper = new KotlinLambdaToFunctionAutoConfiguration.KotlinFunctionWrapper(functionCandidate); wrapper.setName(functionName); diff --git a/spring-cloud-function-samples/pom.xml b/spring-cloud-function-samples/pom.xml index 78ef902ef..12ac06a03 100644 --- a/spring-cloud-function-samples/pom.xml +++ b/spring-cloud-function-samples/pom.xml @@ -32,7 +32,7 @@ function-sample-cloudevent-stream function-sample-cloudevent-rsocket function-sample-cloudevent-sdk - function-sample-kotlin-web + function-sample-grpc-cloudevent