Closed Vastfy closed 3 weeks ago
应该没有为什么,既然你在改造,自己先把它去掉好了
@Vastfy 可以尝试使用 ObjectMapper.DefaultTyping.EVERYTHING
,示例如下:
objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.EVERYTHING, JsonTypeInfo.As.PROPERTY);
版本:2.7.6 问题描述:使用自定义的jackson实现ValueEncoder和ValueDecoder如下:
将上述两个类作为spring bean管理,并通过以下方式使用:
JacksonSerializer 类实现如下:
以上是序列化器完整实现。 核心在这里:当使用NON_FINAL时,由于缓存消息都会被CacheValueHolder封装并序列化为json字符串,此时不会包含CacheValueHolder的"@class"信息,如下:![image](https://github.com/alibaba/jetcache/assets/58967315/fc01d464-1158-4324-bc6b-37bc3cf10c92)
当查询缓存时,会提示反序列化异常,如下:![image](https://github.com/alibaba/jetcache/assets/58967315/498ea82f-bd35-451c-96c5-1c061f0b736f)
除非改成EVERYTHING,想请教下为啥要定义成final