diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionType.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionType.java index c09cd8379..2a538f6aa 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionType.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/FunctionType.java @@ -105,6 +105,9 @@ public class FunctionType { } public static FunctionType of(Type function) { + if (function instanceof Class) { + function = ((Class)function).getGenericInterfaces()[0]; + } return new FunctionType(function); } diff --git a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistryMultiInOutTests.java b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistryMultiInOutTests.java index 2de620c91..29b8fad7f 100644 --- a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistryMultiInOutTests.java +++ b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/LazyFunctionRegistryMultiInOutTests.java @@ -78,7 +78,7 @@ public class LazyFunctionRegistryMultiInOutTests { @SuppressWarnings("unused") @Test - @Ignore +// @Ignore public void testMultiInputBiFunction() { FunctionCatalog catalog = this.configureCatalog(); BiFunction, Flux, Flux> multiInputFunction =