關於dubbo服務產生異常之:Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer.


最近在做一個項目,需要生成9000個號碼,為了方便系統分離合並,采用dubbo實現,在本地測試生成時什么問題都沒有,順順利利的實現生成並顯示狀態,可是每次調用dubbo服務時就會產生異常,每當想要生成200個號碼的時候,它會生成400個或者600,很顯然它是執行了三次,也就是服務調了三次,看后台總是看到一個tried 3 times……這也正是產生三倍數量的原因,后來仔細看了后台異常說的是……timeout……,那么自然想到是服務超時,個人覺得是在調用一次服務時,后台需要執行的時間太長,超出了服務的響應超時時間(response timeout),所以它會再次嘗試調用服務,可能是dubbo服務的設置,最多嘗試三次,所以就會產生調用三次服務,產生三倍號碼的結果,那么這樣就有方向了,修改dubbo服務的超時時間timeout,網上找設置dubbo timeout的方法,http://wenku.baidu.com/view/5c6854287375a417866f8f61,這里邊仔細介紹了設置超時時間的方法,還進行了詳細分析,開始設置的timeout=10000,少量的可以正常完成,可是數大點就不行了,后來有同事說可以設置timeout=0就沒有超時時間,但是測試過,不可以,因為默認的是500,你設置了0,就是不管怎樣都是超時了,這個和其他框架的配置不太一樣,后來在服務提供端設置timeout=1200000,ok!完勝!雖然有點大,但是也沒影響。

  詳細設置和說明可以查看百度文庫的資料,dubbo官方配置指南.doc,

<dubbo:service interface="com.XXXX.XXXXX.CardService" ref="cardService" timeout="1200000"/>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM