【Dubbo】序列化异常—— com.esotericsoftware.kryo.KryoException: Buffer underflow

阅读更多

Dubbo服务通常依赖一个jar包来表示服务签名,其中包含了服务的接口定义。
服务的提供者(服务端)需实现这些接口;
服务的调用者(客户端)可以通过这些接口调用服务。
 

问题

此文提到的异常 “com.esotericsoftware.kryo.KryoException: Buffer underflow” 通常是因为服务端和客户端持有的jar包版本号相同,但实际内容不同,导致序列化异常。

 

出现这种情况的原因往往是因为项目管理流程混乱,导致jar包被覆盖发布(版本号相同,但实际内容不同)。
对!你没有看错,是正式版jar包覆盖发布,不是SNAPSHOT。管理非常混乱。
 

解决方法

  • 临时解决方案:让服务端和客户端使用相同的jar包。这个过程可能需要清理Maven仓库,重新打包服务端和客户端。
  • 优化方案:改进项目管理流程,避免覆盖发布。很多小作坊项目管理非常混乱,净瞎搞,经常出管理问题。

 

你可能感兴趣的:(【Dubbo】序列化异常—— com.esotericsoftware.kryo.KryoException: Buffer underflow)