From 0ff4f0d7d75dcf2d2299b92377c3bba99d593004 Mon Sep 17 00:00:00 2001 From: Michael Reiche <48999328+mikereiche@users.noreply.github.com> Date: Thu, 30 Mar 2023 12:05:14 -0700 Subject: [PATCH] Use the ApplicationContext class loader for MappingCouchbaseConverter. (#1705) Closes #1691. --- .../couchbase/core/convert/MappingCouchbaseConverter.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java b/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java index e381b738..ee1843fc 100644 --- a/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java +++ b/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java @@ -30,6 +30,7 @@ import java.util.Optional; import java.util.TreeMap; import java.util.UUID; +import org.springframework.beans.factory.BeanClassLoaderAware; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.core.CollectionFactory; @@ -902,6 +903,10 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem if (entityCallbacks == null) { setEntityCallbacks(EntityCallbacks.create(applicationContext)); } + ClassLoader classLoader = applicationContext.getClassLoader(); + if (this.typeMapper instanceof BeanClassLoaderAware && classLoader != null) { + ((BeanClassLoaderAware) this.typeMapper).setBeanClassLoader(classLoader); + } } /**