Dubbox 2.8.4版本,使用FST或者Kryo序列化,当服务的方法参数含有Java原生数据类型时(比如int,long等),就会出错? 400 报错
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
使用String 作为参数的时候也会出现问题IOEXception,不知道这个怎么解决######回复 @JKnife :######回复 @JKnife : 你好,碰上同样的问题了 问下你们当初如何对其代码处理的######据说他们已经更新了新版本解决了这个问题。不过我当时等不了,自己改掉了。######你好,碰上同样的问题了 问下你们当初如何对其代码处理的######回复 @JKnife : 收到了 我测试看看先 多谢了~~######回复 @huapox : 已经发你邮箱了,测试看看。kyro一直没有用,我们都FST######回复 @swq : 是改kyro的代码吧,之前查看了下 尝试无果,能分享或指导下吗######回复 @JKnife : 抱歉一好几次都是大晚上看到这 回复不了,我邮箱:2219336717@qq.com######太久了,忘记改了几处了。有需要你留个邮箱好了,我邮件直接把改过的版本发给你。######
diff001
dif002
######一直是晚上到线,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协议时 问题出来了。
######更新下kryo包到0.41,就OK了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。