Probablemente lo hayas resuelto mientras tanto, pero para más buscadores de respuestas.
De acuerdo con la referencia redis de datos de primavera:
De forma predeterminada, RedisCache y RedisTemplate están configurados para usar la serialización nativa de Java.
Desde stacktrace puedo ver que en realidad está usando Redis para el almacenamiento en caché, por lo que debe configurar RedisCache
y no RedisTemplate
. RedisCache
no está recogiendo su @Bean
porque no está usando RedisTemplate
internamente.
Ejemplo de cómo puedes hacerlo en Java:
@EnableCaching
@Configuration
public class CacheConfig {
@Bean
@Primary
public RedisCacheConfiguration defaultCacheConfig(ObjectMapper objectMapper) {
return RedisCacheConfiguration.defaultCacheConfig()
.serializeKeysWith(SerializationPair.fromSerializer(new StringRedisSerializer()))
.serializeValuesWith(SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer(objectMapper)));
}
}