Fix FunctionTypeUtils as well as LocalServerPort issue

Resolves #871
This commit is contained in:
Oleg Zhurakousky
2022-06-07 16:01:50 +02:00
parent 66b88f2f1e
commit 724ba06c11
13 changed files with 19 additions and 14 deletions

View File

@@ -417,10 +417,15 @@ public final class FunctionTypeUtils {
type = getImmediateGenericType(type, 0);
}
if (type instanceof ParameterizedType && !Message.class.isAssignableFrom(TypeResolver.resolveRawClass(type, null))) {
Class<?> resolveRawClass = FunctionTypeUtils.getRawType(type);
if (type instanceof ParameterizedType && !Message.class.isAssignableFrom(resolveRawClass)) {
type = getImmediateGenericType(type, 0);
}
return Message.class.isAssignableFrom(TypeResolver.resolveRawClass(type, null));
resolveRawClass = FunctionTypeUtils.getRawType(type);
if (resolveRawClass == null) {
return false;
}
return Message.class.isAssignableFrom(resolveRawClass);
}
/**

View File

@@ -102,7 +102,7 @@ public class SimpleFunctionRegistryTests {
public void concurrencyRegistrationTest() throws Exception {
Echo function = new Echo();
FunctionRegistration<Echo> registration = new FunctionRegistration<>(
function, "echo").type(FunctionType.of(Echo.class));
function, "echo").type(Echo.class);
SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService, this.messageConverter,
new JacksonMapper(new ObjectMapper()));
ExecutorService executor = Executors.newCachedThreadPool();