W międzyczasie prawdopodobnie rozwiązałeś to, ale dla dalszych poszukiwaczy odpowiedzi.
Zgodnie z danymi wiosennymi odniesienie do redis:
Domyślnie RedisCache i RedisTemplate są skonfigurowane do korzystania z natywnej serializacji Java.
Ze stacktrace widzę, że faktycznie używasz Redis do buforowania, więc musisz skonfigurować RedisCache
a nie RedisTemplate
. RedisCache
nie odbiera twojego @Bean
ponieważ nie używa RedisTemplate
wewnętrznie.
Przykład, jak możesz to zrobić w Javie:
@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)));
}
}