diff --git a/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java b/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java index f69d4563a..1a4640fae 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverter.java @@ -97,6 +97,8 @@ public class MappingElasticsearchConverter private final GenericConversionService conversionService; // don't access directly, use getConversions(). to prevent null access private CustomConversions conversions = new ElasticsearchCustomConversions(Collections.emptyList()); + private final SpELContext spELContext = new SpELContext(new MapAccessor()); + private final EntityInstantiators instantiators = new EntityInstantiators(); public MappingElasticsearchConverter( MappingContext, ElasticsearchPersistentProperty> mappingContext) { @@ -159,7 +161,7 @@ public class MappingElasticsearchConverter @Override public R read(Class type, Document source) { - Reader reader = new Reader(mappingContext, conversionService, getConversions()); + Reader reader = new Reader(mappingContext, conversionService, getConversions(), spELContext, instantiators); return reader.read(type, source); } @@ -200,14 +202,16 @@ public class MappingElasticsearchConverter private static class Reader extends Base { private final SpELContext spELContext; - private final EntityInstantiators instantiators = new EntityInstantiators(); + private final EntityInstantiators instantiators; public Reader( MappingContext, ElasticsearchPersistentProperty> mappingContext, - GenericConversionService conversionService, CustomConversions conversions) { + GenericConversionService conversionService, CustomConversions conversions, SpELContext spELContext, + EntityInstantiators instantiators) { super(mappingContext, conversionService, conversions); - this.spELContext = new SpELContext(new MapAccessor()); + this.spELContext = spELContext; + this.instantiators = instantiators; } @SuppressWarnings("unchecked")