From 55a27db3c412f023e0be20165ec2be70e46632fb Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Fri, 9 Sep 2022 10:21:10 +0200 Subject: [PATCH] Add serialization configuration for cache.support.NullValue This commit makes sure to register serialization of null values for usage within a native image. Closes: #2403 --- .../springframework/data/redis/aot/RedisRuntimeHints.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/springframework/data/redis/aot/RedisRuntimeHints.java b/src/main/java/org/springframework/data/redis/aot/RedisRuntimeHints.java index 0a891b5b7..e19c36c1e 100644 --- a/src/main/java/org/springframework/data/redis/aot/RedisRuntimeHints.java +++ b/src/main/java/org/springframework/data/redis/aot/RedisRuntimeHints.java @@ -31,6 +31,7 @@ import org.springframework.data.keyvalue.repository.KeyValueRepository; import org.springframework.data.keyvalue.repository.config.QueryCreatorType; import org.springframework.data.keyvalue.repository.query.KeyValuePartTreeQuery; import org.springframework.data.keyvalue.repository.support.KeyValueRepositoryFactoryBean; +import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.connection.*; import org.springframework.data.redis.core.*; import org.springframework.data.redis.core.convert.KeyspaceConfiguration; @@ -59,6 +60,10 @@ class RedisRuntimeHints implements RuntimeHintsRegistrar { @Override public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) { + // CACHE + hints.serialization().registerType(org.springframework.cache.support.NullValue.class, + hint -> hint.onReachableType(TypeReference.of(RedisCacheManager.class))); + // REFLECTION hints.reflection().registerTypes(Arrays.asList(TypeReference.of(RedisConnection.class), TypeReference.of(StringRedisConnection.class), TypeReference.of(DefaultedRedisConnection.class),