diff --git a/spring-cloud-function-context/pom.xml b/spring-cloud-function-context/pom.xml index 5310bcdea..48a33cbc7 100644 --- a/spring-cloud-function-context/pom.xml +++ b/spring-cloud-function-context/pom.xml @@ -1,7 +1,7 @@ + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-cloud-function-context @@ -58,6 +58,14 @@ reactor-test test + + + + + + com.fasterxml.jackson.core + jackson-databind + diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeConversionHelper.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeConversionHelper.java index f240abbdb..557268237 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeConversionHelper.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionTypeConversionHelper.java @@ -56,7 +56,7 @@ class FunctionTypeConversionHelper { this.functionArgumentTypes = ((ParameterizedType)this.functionRegistration.getType().getType()).getActualTypeArguments(); } else { - this.functionArgumentTypes = new Type[] {this.functionRegistration.getType().getType()}; + this.functionArgumentTypes = new Type[] {this.functionRegistration.getType().getInputType()}; } } diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistry.java index 076c3d922..78dc902ee 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistry.java @@ -118,6 +118,9 @@ public class LazyFunctionRegistry implements FunctionRegistry, FunctionInspector @Override public void register(FunctionRegistration registration) { this.registrationsByFunction.put(registration.getTarget(), (FunctionRegistration) registration); + for (String name : registration.getNames()) { + this.registrationsByName.put(name, (FunctionRegistration) registration); + } } @Override diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java index 7d8a9d794..260f8cf55 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfiguration.java @@ -92,10 +92,10 @@ public class ContextFunctionCatalogAutoConfiguration { static final String PREFERRED_MAPPER_PROPERTY = "spring.http.converters.preferred-json-mapper"; -// @Bean -// public FunctionRegistry functionCatalog() { -// return new BeanFactoryFunctionCatalog(); -// } + //@Bean + public FunctionRegistry functionCatalog() { + return new BeanFactoryFunctionCatalog(); + } @Bean public FunctionRegistry functionCatalog(@Nullable ConversionService conversionService, @Nullable CompositeMessageConverter messageConverter,