diff --git a/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java b/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java index 7ecc89d18c..cf3d982082 100644 --- a/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java +++ b/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java @@ -326,6 +326,10 @@ public GenericJackson2JsonRedisSerializer configure(Consumer objec return this; } + public void setCustomMapperForTypeResolver(ObjectMapper mapper) { + this.typeResolver.setCustomObjectMapper(mapper); + } + protected JavaType resolveType(byte[] source, Class type) throws IOException { if (!type.equals(Object.class) || !defaultTypingEnabled.get()) { @@ -341,7 +345,7 @@ protected JavaType resolveType(byte[] source, Class type) throws IOException static class TypeResolver { // need a separate instance to bypass class hint checks - private final ObjectMapper mapper = new ObjectMapper(); + private ObjectMapper mapper = new ObjectMapper(); private final Supplier typeFactory; private final Supplier hintName; @@ -367,6 +371,10 @@ protected JavaType resolveType(byte[] source, Class type) throws IOException return constructType(type); } + + public void setCustomObjectMapper(ObjectMapper mapper) { + this.mapper = mapper; + } } /**