主要是解决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;
}