DecodeableRpcInvocation
- 異常情況
- 解決方法
- 錯誤警告
- 官方FAQ
異常情況
記錄一下Dubbo調用異常
java.util.concurrent.ExecutionException: org.apache.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer. start time: 2025-05-07 22:09:50.595, end time: 2025-05-07 22:09:51.606, client elapsed: 1 ms, server elapsed: 1010 ms, timeout: 1000 ms, request: Request [id=38, version=2.0.2, twoWay=true, event=false, broken=false, data=null], channel: /192.168.43.1:14457 -> /192.168.43.1:20880
本來以為是RPC服務提供端查詢數據庫超時,然后去配置服務執行超時時間
使用注解方式(Spring Boot):
解決方法
@DubboReference(timeout = 5000)
private YourService yourService;
但是問題依舊存在
錯誤警告
之后看了一下服務端的控制臺,有一個警告 Decode rpc invocation failed
解碼調用rpc失敗,這就是我之前埋下的一個坑,在寫一個數據庫查詢返回實體類的時沒有實現Serializable接口,所以反序列化異常了,
2025-05-07 22:19:09.266 WARN 29952 — [20880-thread-29] o.a.d.r.p.dubbo.DecodeableRpcInvocation : [DUBBO] Decode rpc invocation failed: null, dubbo version: 3.1.5, current host: 192.168.43.1, error code: 4-20. This may be caused by , go to https://dubbo.apache.org/faq/4/20 to find instructions.
其實也不是,而是我加上了,但是由于原來的jar在使用,所以maven install的時候,本地倉庫舊的jar包沒被替換
官方FAQ
解決辦法控制臺也給出了Dubbo的官方FAQ地址