Redisson Spring Cache MsgPackJacksonCodec 日期时间处理
概要说明
上篇 Redisson 整合 Spring Cache, MsgPackJacksonCodec 进行编码解码时,规避了日期时间序列化问题。
框架源码默认处理:
org.redisson.codec.MsgPackJacksonCodec#MsgPackJacksonCodec
super(new ObjectMapper(new MessagePackFactory())); // 手动 new ObjectMapper 默认的
org.redisson.codec.JsonJacksonCodec#getObjectMapper
只要调整默认传入的 ObjectMapper 就可以了。
代码展示
JavaTimeModule 日期时间 序列化/反序列化 处理
@Configuration
public class JavaTimeConfig {
@Bean
@Primary
public JavaTimeModule javaTimeModule() {
// LocalDateTime
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
javaTimeModule.addSerializer(LocalTime.class, new LocalTimeSerializer(</