Du har sikkert løst det i mellemtiden, men for yderligere svarsøgende.
Ifølge forårets data redis reference:
Som standard er RedisCache og RedisTemplate konfigureret til at bruge indbygget Java-serialisering.
Fra stacktrace kan jeg se, at du faktisk bruger Redis til caching, så du skal konfigurere RedisCache
og ikke RedisTemplate
. RedisCache
henter ikke din @Bean
fordi den ikke bruger RedisTemplate
internt.
Eksempel på hvordan du kan gøre det i 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)));
}
}