1. 程式人生 > >Dubbo錯誤排查:com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout

Dubbo錯誤排查:com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout

com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method
可能的錯誤原因有幾個:
一,pojo沒有沒有進行序列化
具體沒有序列化的類會在錯誤資訊中顯示,在錯誤資訊中搜索“Serializable”即可找到將其實現序列化,消除錯誤。
二,在主機上啟動了虛擬機器的網路
在使用Dubbo提供服務時在主機上啟動了虛擬機器的網路,在Windows中具體可以,在執行中輸入“CMD”在CMD視窗中輸入"ifconfig"命令檢視,
如果有其他除本地的網路連結,通過命令或者將其手動禁止,再啟動Dubbo服務可以解決問題。
三,防火牆對應埠沒有開啟


伺服器沒有開啟dubbo或者是zookeeper相應的埠,導致程式不能訪問.一般zookeeper的埠號為:2181
四,超時錯誤
檢查客戶端、服務端的超時配置;如果客戶端的超時時間沒有設定,可以設定為一個較長時間.
具體如下:
Dubbo消費端

<dubbo:consumer timeout="5000" />

指定介面以及特定方法超時配置

<dubbo:reference interface="XXX" timeout="2000">
    <dubbo:method name="XXX" timeout="3000" />
</dubbo:reference
>

Dubbo服務端
全域性超時配置

<dubbo:provider timeout="5000" />

指定介面以及特定方法超時配置

<dubbo:provider interface="XXX" timeout="2000">
    <dubbo:method name="XXX" timeout="3000" />
</dubbo:provider>