Redisson自定义序列化

主要是解决LocalDateTime的序列化报错问题。
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling

在初始化RedissonClient的时候设置序列化方式。

    @Bean
    public RedissonClient redissonClient() {
        SimpleModule simpleModule = new SimpleModule();
        simpleModule
                .addSerializer(Long.class, LongSerializer.INSTANCE)
                .addSerializer(Long.TYPE, LongSerializer.INSTANCE)
                .addSerializer(LocalDateTime.class, LocalDateTimeSerializer.INSTANCE)
                .addDeserializer(LocalDateTime.class, LocalDateTimeDeserializer.INSTANCE);

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.registerModules(simpleModule);

        JsonJacksonCodec jsonJacksonCodec = new JsonJacksonCodec(objectMapper);
        Config config = new Config();
        config.setCodec(jsonJacksonCodec);
        RedissonClient redissonClient = Redisson.create(config);
        return redissonClient;
    }

你可能感兴趣的:(java)