Dubbox 2.8.4版本,使用FST或者Kryo序列化,当服务的方法参数含有Java原生数据类型时(比如int,long等),就会出错

发布于 2021-11-30 15:53:39 字数 506 浏览 842 评论 12

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

孤檠 2021-12-05 16:24:06

更新下kryo包到0.41,就OK了

不乱于心 2021-12-05 16:23:11

一直是晚上到线,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协议时 问题出来了。

爱的故事 2021-12-05 16:23:09

diff001

 

dif002

眼眸 2021-12-05 16:22:35

太久了,忘记改了几处了。有需要你留个邮箱好了,我邮件直接把改过的版本发给你。

混吃等死 2021-12-05 16:08:33

回复
@swq : 是改kyro的代码吧,之前查看了下 尝试无果,能分享或指导下吗

已下线请稍等 2021-12-05 15:48:04

回复
已经发你邮箱了,测试看看。kyro一直没有用,我们都FST

眼眸里的那抹悲凉 2021-12-05 15:43:57

回复
@JKnife : 收到了 我测试看看先 多谢了~~

情绪失控 2021-12-05 13:27:23

你好,碰上同样的问题了 问下你们当初如何对其代码处理的

毁梦 2021-12-05 11:55:07

据说他们已经更新了新版本解决了这个问题。不过我当时等不了,自己改掉了。

静谧 2021-12-05 02:20:54

回复
@JKnife : 你好,碰上同样的问题了 问下你们当初如何对其代码处理的

居里长安 2021-12-04 10:21:19

回复
@JKnife :

千笙结 2021-12-02 17:22:05

使用String 作为参数的时候也会出现问题IOEXception,不知道这个怎么解决

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文