当前位置: 首页 > news >正文

北京做网站电话的公司购买网站建设需要注意

北京做网站电话的公司,购买网站建设需要注意,网店代运营什么意思,网站建设费用还是网络一。技术改造背景 由于之前的比较陈旧的技术#xff0c;后面发起了技术改造#xff0c;redis整体改后使用redisson框架。 二。问题 改造完成后#xff0c;使用方反馈 缓存获取异常 异常信息如下 Caused by: java.io.CharConversionException: Unexpected EOF in the mid…一。技术改造背景 由于之前的比较陈旧的技术后面发起了技术改造redis整体改后使用redisson框架。 二。问题 改造完成后使用方反馈 缓存获取异常 异常信息如下 Caused by: java.io.CharConversionException: Unexpected EOF in the middle of a 4-byte UTF-32 char: got 1, needed 4, at char #1, byte #5) at com.fasterxml.jackson.core.io.UTF32Reader.reportUnexpectedEOF(UTF32Reader.java:187) at com.fasterxml.jackson.core.io.UTF32Reader.loadMore(UTF32Reader.java:248) at com.fasterxml.jackson.core.io.UTF32Reader.read(UTF32Reader.java:126) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._loadMore(ReaderBasedJsonParser.java:276) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._matchToken2(ReaderBasedJsonParser.java:2727) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._matchToken(ReaderBasedJsonParser.java:2707) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1986) at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:802) at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4761) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4667) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3666) at org.redisson.codec.JsonJacksonCodec$2.decode(JsonJacksonCodec.java:99) at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:393) at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:205) at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:144) at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:120) at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:519) at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366)三。问题定位 从日志上来看 解密失败了回头看未改造的redis 存储的序列化方式是 hessian 而改造后的 redis存储的序列化方式是JsonJacksonCodec 导致反序列化报错 四。问题解决 具体问题定位到了后 解决办法就已经有了。 修改redisson的序列化方式 保持和旧的序列化方式相同做缓存迁移或者缓存全量失效理论来讲不太现实 那这个很明显选择修改redisson的序列化方式 保持和旧的序列化方式相同。 redison目前支持的 序列化方式 Codec class nameDescriptionorg.redisson.codec.Kryo5CodecKryo 5 binary codec (Android compatible) Default codecorg.redisson.codec.KryoCodecKryo 4 binary codecorg.redisson.codec.JsonJacksonCodecJackson JSON codec. Stores type information in class field (Android compatible)org.redisson.codec.TypedJsonJacksonCodecJackson JSON codec which doesn’t store type id (class field) during encoding and doesn’t require it for decodingorg.redisson.codec.AvroJacksonCodecAvro binary json codecorg.redisson.codec.SmileJacksonCodecSmile binary json codecorg.redisson.codec.CborJacksonCodecCBOR binary json codecorg.redisson.codec.MsgPackJacksonCodecMsgPack binary json codecorg.redisson.codec.IonJacksonCodecAmazon Ion codecorg.redisson.codec.SerializationCodecJDK Serialization binary codec (Android compatible)org.redisson.codec.LZ4CodecLZ4 compression codec. Uses Kryo5Codec for serialization by defaultorg.redisson.codec.SnappyCodecV2Snappy compression codec based on snappy-java project. Uses Kryo5Codec for serialization by defaultorg.redisson.codec.MarshallingCodecJBoss Marshalling binary codec Deprecated!org.redisson.client.codec.StringCodecString codecorg.redisson.client.codec.LongCodecLong codecorg.redisson.client.codec.ByteArrayCodecByte array codecorg.redisson.codec.CompositeCodecAllows to mix different codecs as one 很意外并没有 我们需要的hessian的序列化 只能手写! redisson 默认的序列化方式为Kryo5Codec 首先引入依赖 dependencygroupIdcom.caucho/groupIdartifactIdhessian/artifactIdversion4.0.66/version /dependency其次继承 BaseCodec 实现我们的 HessianCoder 即可 完整的实现如下 import com.caucho.hessian.io.HessianInput; import com.caucho.hessian.io.HessianOutput; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; import io.netty.buffer.ByteBufInputStream; import io.netty.buffer.ByteBufOutputStream; import lombok.extern.slf4j.Slf4j; import org.redisson.client.codec.BaseCodec; import org.redisson.client.handler.State; import org.redisson.client.protocol.Decoder; import org.redisson.client.protocol.Encoder;import java.io.IOException;/*** 自定义实现 Hessian 序列化 兼容原有的序列化方式** author leon* date 2023-08-10 15:14:03*/ Slf4j public class HessianCoder extends BaseCodec {private final Encoder encoder new Encoder() {Overridepublic ByteBuf encode(Object in) throws IOException {try (ByteBufOutputStream os new ByteBufOutputStream(ByteBufAllocator.DEFAULT.buffer())) {HessianOutput ho new HessianOutput(os);ho.writeObject(in);return os.buffer();} catch (Exception e) {log.error(Hessian序列化异常: {}, e.getMessage(), e);throw new IOException(e);}}};private final DecoderObject decoder new DecoderObject() {Overridepublic Object decode(ByteBuf buf, State state) throws IOException {try (ByteBufInputStream inputStream new ByteBufInputStream(buf)) {HessianInput hi new HessianInput(inputStream);return hi.readObject();} catch (Exception e) {log.error(Hessian反序列化异常: {}, e.getMessage(), e);throw new IOException(e);}}};Overridepublic DecoderObject getValueDecoder() {return decoder;}Overridepublic Encoder getValueEncoder() {return encoder;} }最后修改我们的redisson配置 将序列化方式替换为HessianCoder 即可 在进行测试获取缓存 也没报错了。 参考官方文档https://github.com/redisson/redisson/wiki/4.-data-serialization
http://www.hkea.cn/news/14333362/

相关文章:

  • 平面设计公司网站建设费用中国手机网站大全
  • 唐山网站建设求职简历西安景点排名前十
  • 成都企业网站模板建设网站被百度降权了怎么办
  • 汉中网站建设汉中动漫制作专业学什么就业方向
  • 做视频大赛推广的网站python网页版编程
  • 网站首页的head标签内佟年做网站给KK
  • 做中文网站公司提供手机自适应网站制作
  • 邯郸专业网站建设公司网站后台开发技术
  • 360网站怎么做网址链接免费找客源软件
  • 宣传工作网站建设作用个人主页源码
  • 网站建设招标提问什么外贸网站开发客户
  • ppt超链接到网站怎么做怎么做跳转网站 充值登陆
  • 青岛关键词网站排名电子商务网站设计与建设小结
  • 不做网站做百家号建设厅考试成绩查询
  • 传媒免费网站建设做企业网站设
  • 徐州网站的优化网站建设的具体代码
  • 随便编一个公司网站大数据营销的优缺点
  • 网站建设 启象科技wordpress 可道云
  • wordpress淘宝客网站模板教育培训学校
  • 斐讯k3做网站如何自己做游戏软件
  • 临夏建设网站分类网站模板
  • 直播网站建设品牌阿里云做网站步骤
  • 临沂做网站推广的公司哪家好中国造价工程建设监理协会网站
  • 工会网站平台建设asp.net mvc 5 网站开发之美 pdf
  • 网站建设的竞争力怎样做国际网站平台
  • wordpress编辑留言板优化网站seo公司
  • 南昌专业网站建设信息网站定制开发优点
  • 网站推广是做什么工作代理公司注册品牌
  • 给你一个网站你如何做优化求一个2023年没封的
  • 建站平台选择建议营销型 手机网站