dubbo 3.1.9 如果想用 kryo 序列化的话,应该用哪个版本?

nlejzf6q  于 4个月前  发布在  其他
关注(0)|答案(3)|浏览(59)

我用的这个

<dependency>
                <groupId>org.apache.dubbo.extensions</groupId>
                <artifactId>dubbo-serialization-kryo</artifactId>
                <version>1.0.1</version>
            </dependency>

但是会报错,应该用哪个版本?

2023-04-11 17:31:32.607  WARN 15080 --- [:20801-thread-3] o.a.d.r.p.dubbo.DecodeableRpcInvocation  :  [DUBBO] Decode rpc invocation failed: java.util.ArrayList cannot be cast to java.util.Map, dubbo version: 3.1.9, current host: 192.168.1.1, error code: 4-20. This may be caused by , go to https://dubbo.apache.org/faq/4/20 to find instructions. 

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map
	at org.apache.dubbo.common.serialize.ObjectInput.readAttachments(ObjectInput.java:86) ~[dubbo-3.1.9.jar:3.1.9]
	at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:218) ~[dubbo-3.1.9.jar:3.1.9]
	at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:93) ~[dubbo-3.1.9.jar:3.1.9]
	at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:62) [dubbo-3.1.9.jar:3.1.9]
	at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:46) [dubbo-3.1.9.jar:3.1.9]
	at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) [dubbo-3.1.9.jar:3.1.9]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_322]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_322]
	at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41) [dubbo-3.1.9.jar:3.1.9]
	at java.lang.Thread.run(Thread.java:750) [na:1.8.0_322]
uttx8gqw

uttx8gqw1#

在我本地的demo测试中 (provider & consumer 版本3.1.9,kryo 版本 1.0.1)没有发现异常,可以参考下报错信息中提供的网址: https://dubbo.apache.org/faq/4/20 ,是否是服务方和调用方的版本不匹配?

hs1rzwqc

hs1rzwqc2#

我调用的接口返回的是个 List, 不知道会不会是这个关系?

u2nhd7ah

u2nhd7ah3#

kryo 序列化返回列表的时候会把类型搞错?

相关问题