From 2295dee2e6d87e615e75db2eadadb96bcfe8bf0a Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 29 Sep 2021 11:24:37 +0200 Subject: [PATCH] Temporary fixes related to native AOT enablement --- .../cloud/function/web/RequestProcessor.java | 4 ++-- .../web/function/FunctionEndpointInitializer.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/RequestProcessor.java b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/RequestProcessor.java index 1f7a97b01..138a8b617 100644 --- a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/RequestProcessor.java +++ b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/RequestProcessor.java @@ -59,9 +59,9 @@ public class RequestProcessor { private final JsonMapper mapper; - public RequestProcessor(ObjectProvider mapper, + public RequestProcessor(JsonMapper mapper, ObjectProvider codecs) { - this.mapper = mapper.getIfAvailable(); + this.mapper = mapper; } public static FunctionWrapper wrapper(FunctionInvocationWrapper function) { diff --git a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializer.java b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializer.java index b2f893ab8..9075a0a42 100644 --- a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializer.java +++ b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializer.java @@ -79,7 +79,7 @@ import static org.springframework.web.reactive.function.server.ServerResponse.st * @since 2.0 * */ -class FunctionEndpointInitializer implements ApplicationContextInitializer { +public class FunctionEndpointInitializer implements ApplicationContextInitializer { private static boolean webflux = ClassUtils .isPresent("org.springframework.web.reactive.function.server.RouterFunction", null); @@ -104,7 +104,7 @@ class FunctionEndpointInitializer implements ApplicationContextInitializer new RequestProcessor(context.getBeanProvider(JsonMapper.class), + () -> new RequestProcessor(context.getBeansOfType(JsonMapper.class).values().iterator().next(), context.getBeanProvider(ServerCodecConfigurer.class))); context.registerBean(FunctionEndpointFactory.class, () -> new FunctionEndpointFactory(context.getBean(FunctionProperties.class), context.getBean(FunctionCatalog.class), @@ -114,7 +114,7 @@ class FunctionEndpointInitializer implements ApplicationContextInitializer config.registerDefaults(true)).build()); } @@ -124,7 +124,7 @@ class FunctionEndpointInitializer implements ApplicationContextInitializer new Resources()); DefaultErrorWebExceptionHandler handler = new DefaultErrorWebExceptionHandler( - context.getBean(ErrorAttributes.class), context.getBean(Resources.class), + context.getBeansOfType(ErrorAttributes.class).values().iterator().next(), context.getBean(Resources.class), context.getBean(ErrorProperties.class), context); ServerCodecConfigurer codecs = ServerCodecConfigurer.create(); handler.setMessageWriters(codecs.getWriters()); @@ -164,7 +164,7 @@ class FunctionEndpointInitializer implements ApplicationContextInitializer= 0) { - HttpHandler handler = context.getBean(HttpHandler.class); + HttpHandler handler = context.getBeansOfType(HttpHandler.class).values().iterator().next(); ReactorHttpHandlerAdapter adapter = new ReactorHttpHandlerAdapter(handler); HttpServer httpServer = HttpServer.create().host(address).port(port).handle(adapter); Thread thread = new Thread(