Dubbox 2.8.4版本,使用FST或者Kryo序列化,当服务的方法参数含有Java原生数据类型时(比如int,long等),就会出错
Dubbox 2.8.4版本,使用FST或者Kryo序列化,当服务的方法参数含有Java原生数据类型时(比如int,long等),就会出错。需要换成Integer、Long
FST出现java.io.EOFException
Kryo出现java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
更新下kryo包到0.41,就OK了
一直是晚上到线,osc大晚上不能回复太不科学。 拖到现在。。
如上2图,2个差异的地方。 都是去了if判断,直接用else中的代码。
--------------------------------------
官方也修复了这个问题。
fix the decoding issue of kryo and fst
li-shen committed on 31 Oct 2015
https://github.com/dangdangdotcom/dubbox/commit/85b9ab1e3e209e5ee82b75a7d38a7a1bcee8b58b
然后注意一下:修复版本与之前版本是不能通用的(交互判断变了,如上面的图),某一处上线,所有rpc项目都要引用新的dubbo jar包。
-------------------------------
现在公司 16年引入的dubbox,却不巧 拿到了之前的代码, 引入kryo协议时 问题出来了。
diff001
dif002
太久了,忘记改了几处了。有需要你留个邮箱好了,我邮件直接把改过的版本发给你。
回复
@swq : 是改kyro的代码吧,之前查看了下 尝试无果,能分享或指导下吗
回复
已经发你邮箱了,测试看看。kyro一直没有用,我们都FST
回复
@JKnife : 收到了 我测试看看先 多谢了~~
你好,碰上同样的问题了 问下你们当初如何对其代码处理的
据说他们已经更新了新版本解决了这个问题。不过我当时等不了,自己改掉了。
回复
@JKnife : 你好,碰上同样的问题了 问下你们当初如何对其代码处理的
回复
@JKnife :
使用String 作为参数的时候也会出现问题IOEXception,不知道这个怎么解决