Pravděpodobně jste to mezitím vyřešili, ale pro další hledače odpovědí.
Podle jarních dat redis reference:
Ve výchozím nastavení jsou RedisCache a RedisTemplate nakonfigurovány pro použití nativní serializace Java.
Ze stacktrace vidím, že ve skutečnosti používáte Redis pro ukládání do mezipaměti, takže musíte nakonfigurovat RedisCache
a ne RedisTemplate
. RedisCache
nevyzvedává váš @Bean
protože nepoužívá RedisTemplate
vnitřně.
Příklad, jak to můžete udělat v Javě:
@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)));
}
}