diff --git a/src/main/java/org/springframework/data/redis/cache/RedisCacheConfiguration.java b/src/main/java/org/springframework/data/redis/cache/RedisCacheConfiguration.java
index baec542f3..214e1a0b3 100644
--- a/src/main/java/org/springframework/data/redis/cache/RedisCacheConfiguration.java
+++ b/src/main/java/org/springframework/data/redis/cache/RedisCacheConfiguration.java
@@ -26,6 +26,7 @@ import org.springframework.core.convert.converter.ConverterRegistry;
import org.springframework.data.redis.serializer.RedisSerializationContext.SerializationPair;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.format.support.DefaultFormattingConversionService;
+import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
/**
@@ -76,9 +77,9 @@ public class RedisCacheConfiguration {
*
default prefix
* [the actual cache name]
* key serializer
- * StringRedisSerializer.class
+ * {@link org.springframework.data.redis.serializer.StringRedisSerializer}
* value serializer
- * JdkSerializationRedisSerializer.class
+ * {@link org.springframework.data.redis.serializer.JdkSerializationRedisSerializer}
* conversion service
* {@link DefaultFormattingConversionService} with {@link #registerDefaultConverters(ConverterRegistry) default}
* cache key converters
@@ -87,6 +88,33 @@ public class RedisCacheConfiguration {
* @return new {@link RedisCacheConfiguration}.
*/
public static RedisCacheConfiguration defaultCacheConfig() {
+ return defaultCacheConfig(null);
+ }
+
+ /**
+ * Create default {@link RedisCacheConfiguration} given {@link ClassLoader} using the following:
+ *
+ * - key expiration
+ * - eternal
+ * - cache null values
+ * - yes
+ * - prefix cache keys
+ * - yes
+ * - default prefix
+ * - [the actual cache name]
+ * - key serializer
+ * - {@link org.springframework.data.redis.serializer.StringRedisSerializer}
+ * - value serializer
+ * - {@link org.springframework.data.redis.serializer.JdkSerializationRedisSerializer}
+ * - conversion service
+ * - {@link DefaultFormattingConversionService} with {@link #registerDefaultConverters(ConverterRegistry) default}
+ * cache key converters
+ *
+ *
+ * @return new {@link RedisCacheConfiguration}.
+ * @since 2.1
+ */
+ public static RedisCacheConfiguration defaultCacheConfig(@Nullable ClassLoader classLoader) {
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
@@ -94,7 +122,7 @@ public class RedisCacheConfiguration {
return new RedisCacheConfiguration(Duration.ZERO, true, true, CacheKeyPrefix.simple(),
SerializationPair.fromSerializer(RedisSerializer.string()),
- SerializationPair.fromSerializer(RedisSerializer.java()), conversionService);
+ SerializationPair.fromSerializer(RedisSerializer.java(classLoader)), conversionService);
}
/**
diff --git a/src/main/java/org/springframework/data/redis/serializer/JdkSerializationRedisSerializer.java b/src/main/java/org/springframework/data/redis/serializer/JdkSerializationRedisSerializer.java
index 512ed8f99..f709f7815 100644
--- a/src/main/java/org/springframework/data/redis/serializer/JdkSerializationRedisSerializer.java
+++ b/src/main/java/org/springframework/data/redis/serializer/JdkSerializationRedisSerializer.java
@@ -51,7 +51,7 @@ public class JdkSerializationRedisSerializer implements RedisSerializer