yangys
2024-05-19 9e5da8899bc21bb5b6b0a3c267108caa00199291
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.qianwen.core.redis.config;
 
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
 
import com.qianwen.core.redis.serializer.GenericJackson2JsonRedisSerializer;
 
 
public interface BladeRedisSerializerConfigAble {
    public static final String TYPE_NAME = "@class";
 
    RedisSerializer<Object> redisSerializer(BladeRedisProperties properties);
 
    default RedisSerializer<Object> defaultRedisSerializer(BladeRedisProperties properties) {
        BladeRedisProperties.SerializerType serializerType = properties.getSerializerType();
        if (BladeRedisProperties.SerializerType.JDK == serializerType) {
            ClassLoader classLoader = getClass().getClassLoader();
            return new JdkSerializationRedisSerializer(classLoader);
        }
        return new GenericJackson2JsonRedisSerializer(TYPE_NAME);
    }
}