Add KotlinUtils

This commit is contained in:
Oleg Zhurakousky
2024-03-26 16:46:18 +01:00
parent bea844629a
commit caee17dd75
2 changed files with 5 additions and 2 deletions

View File

@@ -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.context.config.RoutingFunction;
import org.springframework.cloud.function.core.FunctionInvocationHelper; import org.springframework.cloud.function.core.FunctionInvocationHelper;
import org.springframework.cloud.function.json.JsonMapper; import org.springframework.cloud.function.json.JsonMapper;
import org.springframework.cloud.function.utils.KotlinUtils;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import org.springframework.context.support.GenericApplicationContext; 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"); logger.debug("Skipping function '" + functionName + "' since it is already present");
} }
else { else {
Object functionCandidate = this.discoverFunctionInBeanFactory(functionName); Object functionCandidate = this.discoverFunctionInBeanFactory(functionName);
if (functionCandidate != null) { if (functionCandidate != null) {
Type functionType = null; Type functionType = null;
@@ -157,7 +159,8 @@ public class BeanFactoryAwareFunctionRegistry extends SimpleFunctionRegistry imp
else if (functionCandidate instanceof BiFunction || functionCandidate instanceof BiConsumer) { else if (functionCandidate instanceof BiFunction || functionCandidate instanceof BiConsumer) {
functionRegistration = this.registerMessagingBiFunction(functionCandidate, functionName); 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 = KotlinLambdaToFunctionAutoConfiguration.KotlinFunctionWrapper wrapper =
new KotlinLambdaToFunctionAutoConfiguration.KotlinFunctionWrapper(functionCandidate); new KotlinLambdaToFunctionAutoConfiguration.KotlinFunctionWrapper(functionCandidate);
wrapper.setName(functionName); wrapper.setName(functionName);

View File

@@ -32,7 +32,7 @@
<module>function-sample-cloudevent-stream</module> <module>function-sample-cloudevent-stream</module>
<module>function-sample-cloudevent-rsocket</module> <module>function-sample-cloudevent-rsocket</module>
<module>function-sample-cloudevent-sdk</module> <module>function-sample-cloudevent-sdk</module>
<module>function-sample-kotlin-web</module> <!-- <module>function-sample-kotlin-web</module>-->
<module>function-sample-grpc-cloudevent</module> <module>function-sample-grpc-cloudevent</module>
</modules> </modules>