# Serializer classes in spring-data-redis-4.1.1.jar, read from the jar --- What ships in org/springframework/data/redis/serializer --- $ unzip -l spring-data-redis-*.jar | grep serializer/ (top-level classes, names only) ByteArrayRedisSerializer GenericJackson2JsonRedisSerializer GenericJacksonJsonRedisSerializer GenericToStringSerializer Jackson2JsonRedisSerializer JacksonJsonRedisSerializer JdkSerializationRedisSerializer OxmSerializer RedisSerializer StringRedisSerializer --- Which of them are deprecated --- $ javap -v -cp spring-data-redis-*.jar org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer | grep -E 'Deprecated|since' #377 = Utf8 Deprecated #379 = Utf8 Ljava/lang/Deprecated; #380 = Utf8 since Deprecated: true java.lang.Deprecated( since="4.0" (end of output for GenericJackson2JsonRedisSerializer) $ javap -v -cp spring-data-redis-*.jar org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer | grep -E 'Deprecated|since' #125 = Utf8 Deprecated #127 = Utf8 Ljava/lang/Deprecated; #128 = Utf8 since Deprecated: true java.lang.Deprecated( since="3.0" Deprecated: true java.lang.Deprecated( since="3.0" Deprecated: true java.lang.Deprecated( since="4.0" (end of output for Jackson2JsonRedisSerializer) $ javap -v -cp spring-data-redis-*.jar org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer | grep -E 'Deprecated|since' (end of output for GenericJacksonJsonRedisSerializer) $ javap -v -cp spring-data-redis-*.jar org.springframework.data.redis.serializer.JacksonJsonRedisSerializer | grep -E 'Deprecated|since' (end of output for JacksonJsonRedisSerializer) --- Jackson 3: what the constructors and factories accept --- $ javap -public -cp org.springframework.data.redis.serializer.JacksonJsonRedisSerializer | grep 'JacksonJsonRedisSerializer(' public org.springframework.data.redis.serializer.JacksonJsonRedisSerializer(java.lang.Class); public org.springframework.data.redis.serializer.JacksonJsonRedisSerializer(tools.jackson.databind.JavaType); public org.springframework.data.redis.serializer.JacksonJsonRedisSerializer(tools.jackson.databind.ObjectMapper, java.lang.Class); public org.springframework.data.redis.serializer.JacksonJsonRedisSerializer(tools.jackson.databind.ObjectMapper, tools.jackson.databind.JavaType); public org.springframework.data.redis.serializer.JacksonJsonRedisSerializer(tools.jackson.databind.ObjectMapper, tools.jackson.databind.JavaType, org.springframework.data.redis.serializer.JacksonObjectReader, org.springframework.data.redis.serializer.JacksonObjectWriter); $ javap -public -cp org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer | grep -E 'GenericJacksonJsonRedisSerializer\(|create|builder' public org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer(tools.jackson.databind.ObjectMapper); public static org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer create(java.util.function.Consumer>); public static org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer$GenericJacksonJsonRedisSerializerBuilder builder(); public static >> org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer$GenericJacksonJsonRedisSerializerBuilder builder(java.util.function.Supplier); --- Jackson 3: how the generic serializer's builder turns typing on --- $ javap -public -cp 'org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer$GenericJacksonJsonRedisSerializerBuilder' | grep -E 'Typing|typeValidator|typePropertyName' public org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer$GenericJacksonJsonRedisSerializerBuilder enableUnsafeDefaultTyping(); public org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer$GenericJacksonJsonRedisSerializerBuilder enableDefaultTyping(tools.jackson.databind.jsontype.PolymorphicTypeValidator); public org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer$GenericJacksonJsonRedisSerializerBuilder typeValidator(tools.jackson.databind.jsontype.PolymorphicTypeValidator); public org.springframework.data.redis.serializer.GenericJacksonJsonRedisSerializer$GenericJacksonJsonRedisSerializerBuilder typePropertyName(java.lang.String); --- What Boot 4.1 registers --- $ javap -p -cp spring-boot-data-redis-*.jar org.springframework.boot.data.redis.autoconfigure.DataRedisAutoConfiguration | grep -E 'redisTemplate|stringRedisTemplate' org.springframework.data.redis.core.RedisTemplate redisTemplate(org.springframework.data.redis.connection.RedisConnectionFactory); org.springframework.data.redis.core.StringRedisTemplate stringRedisTemplate(org.springframework.data.redis.connection.RedisConnectionFactory); $ javap -p -cp spring-boot-data-redis-*.jar org.springframework.boot.data.redis.autoconfigure.DataRedisAnnotationDrivenConfiguration | grep 'redisMessageListenerContainer' org.springframework.boot.data.redis.autoconfigure.RedisMessageListenerContainerConfigurer redisMessageListenerContainerConfigurer(); org.springframework.data.redis.listener.RedisMessageListenerContainer redisMessageListenerContainer(org.springframework.boot.data.redis.autoconfigure.RedisMessageListenerContainerConfigurer, org.springframework.data.redis.connection.RedisConnectionFactory); org.springframework.data.redis.listener.RedisMessageListenerContainer redisMessageListenerContainerVirtualThreads(org.springframework.boot.data.redis.autoconfigure.RedisMessageListenerContainerConfigurer, org.springframework.data.redis.connection.RedisConnectionFactory); --- Defaults of @EnableRedisRepositories that matter for expiry --- $ javap -v -cp spring-data-redis-*.jar org.springframework.data.redis.repository.configuration.EnableRedisRepositories | grep -A6 -E '(enableKeyspaceEvents|keyspaceNotificationsConfigParameter)\(\);' | grep -E '\(\);|"Ex"|\.OFF' public abstract org.springframework.data.redis.core.RedisKeyValueAdapter$EnableKeyspaceEvents enableKeyspaceEvents(); Lorg/springframework/data/redis/core/RedisKeyValueAdapter$EnableKeyspaceEvents;.OFF public abstract java.lang.String keyspaceNotificationsConfigParameter(); "Ex" --- The @RedisListener annotation --- $ javap -public -cp spring-data-redis-*.jar org.springframework.data.redis.annotation.RedisListener Compiled from "RedisListener.java" public interface org.springframework.data.redis.annotation.RedisListener extends java.lang.annotation.Annotation { public abstract java.lang.String id(); public abstract java.lang.String container(); public abstract java.lang.String value(); public abstract java.lang.String topic(); public abstract java.lang.String consumes(); }