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