Você provavelmente já o resolveu enquanto isso, mas para mais buscadores de respostas.
De acordo com a referência redis de dados da primavera:
Por padrão, RedisCache e RedisTemplate são configurados para usar serialização nativa Java.
No stacktrace, posso ver que você está realmente usando o Redis para armazenamento em cache, então você precisa configurar o
RedisCache
e não RedisTemplate
. RedisCache
não está pegando seu @Bean
porque não está usando RedisTemplate
internamente. Exemplo de como você pode fazer isso em 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)));
}
}