RocketMQ報錯:rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

Dream_xun發表於2020-11-08

學習rocketmq傳送同步訊息的時候,報了一個這樣的錯:rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout

以上測試程式碼啟動後報錯如下圖。

不想看原因的直接看解決方案:設定生產者傳送訊息的超時時間長一點。

報錯分析及解決方法:

看了網上說法很多:有說是因為ip不是外網ip,還有一些其他的。說ip不是公網ip的我就納悶了。學習的時候,看資料人家用的就是虛擬機器,區域網ip呀,不也成功了嘛。然後我就拿到報錯的關鍵資訊:sendDefaultImpl call timeout ,看是哪裡列印了這個,為什麼列印這個!

從producer.send點下去,最後在下面這張圖的類中發現了這個資訊。

然後網上找callTimeout為啥是true。

原來是因為預設的timeout是3000,太小了,調大一點就好了。

 

相關文章