From 5d1a1cf5b3cceaca4f393e45873feca7ae94b822 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 8 Jun 2021 20:34:45 +0200 Subject: [PATCH] GH-706 Fix application context caching for JDK11 class loaders Resolves #706 --- .../cloud/function/adapter/azure/FunctionInvoker.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/src/main/java/org/springframework/cloud/function/adapter/azure/FunctionInvoker.java b/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/src/main/java/org/springframework/cloud/function/adapter/azure/FunctionInvoker.java index 73840fb83..4e737f3f6 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/src/main/java/org/springframework/cloud/function/adapter/azure/FunctionInvoker.java +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/src/main/java/org/springframework/cloud/function/adapter/azure/FunctionInvoker.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; +import java.util.function.Function; import com.fasterxml.jackson.databind.ObjectMapper; import com.microsoft.azure.functions.ExecutionContext; @@ -77,8 +78,6 @@ public class FunctionInvoker { private static ConfigurableApplicationContext APPLICATION_CONTEXT; - private final static Object LOCK = new Object(); - private static JsonMapper OBJECT_MAPPER; public FunctionInvoker(Class configurationClass) { @@ -251,7 +250,7 @@ public class FunctionInvoker { } private static void initialize(Class configurationClass) { - synchronized (LOCK) { + synchronized (FunctionInvoker.class.getName()) { if (FUNCTION_CATALOG == null) { logger.info("Initializing: " + configurationClass); SpringApplication builder = springApplication(configurationClass);