Как изменить ключ сериализатора в Spring Data Redis 2.1.3?Используется в RedistTemplate для RedisCacheManager - PullRequest
0 голосов
/ 20 декабря 2018

В Spring Boot 1.5.x я смог предоставить настраиваемый сериализатор ключей, указав RedisCacheManager и установив сериализатор ключей на RedisTemplate, переданном super().

В Spring Data Redis2.1.3, нет RedisTemplate в RedisCacheManager.Как бы это установить?

Spring Boot 1.5.x

public class MyRedisCacheManager extends RedisCacheManager
{
    private RedisSerializer redisSerializer;

    public MyRedisCacheManager(RedisTemplate<?, ?> redisTemplate)
    {
        super( redisTemplate );

        //Create the key serializer
        Jackson2JsonRedisSerializer<Object> jKeySerializer = new Jackson2JsonRedisSerializer<>( Object.class );

        ObjectMapper keyObjectMapper = new ObjectMapper();
        keyObjectMapper.setVisibility( PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY );
        keyObjectMapper.enableDefaultTyping( ObjectMapper.DefaultTyping.NON_FINAL );

        //Set on our key serializer
        jKeySerializer.setObjectMapper( keyObjectMapper );

        //Save on the template (which is used to communicate with Redis)
        redisTemplate.setKeySerializer( jKeySerializer );
    }
}

Как мне это сделать в новом Spring Redis?

...