1)默認dubbo重試3次,超時時間爲1秒。spring
2)測試過程當中發現,註解com.alibaba.dubbo.config.annotation.Service(retries默認值爲0,即不重試)retries=0不生效,不知是哪問題。數據庫
修改demo-consumer工程中spring-mvc.xml配置(去掉「全局異常處理類」注入)express
<!--spring ioc中掃描-講註解Controller掃入--> <context:component-scan base-package="com.company.consumer.controller"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <!--<context:component-scan base-package="com.company"/>-->
在UserApiImpl中斷點,輸入http://localhost:8086/demo-consumer/user/qryUserById.do?id=1,1秒後出現以下情形。spring-mvc
3)服務提供者配置三種方式mvc
@Service(retries = 1,timeout = 2000)
#優先級高於dubbo.provider #dubbo.service.retries=2 #dubbo.service.timeout=3000 #dubbo.provider.retries=1 #dubbo.provider.timeout=2000
<!--重試機制-0次,超時時間-3秒--> <dubbo:provider retries="0" timeout="3000"/>
優先級:ide
簡單理解:測試
4)一樣的,服務消費者也可進行重試次數以及超時時間配置。不建議配置在服務調用方。spa
5)重試機制可能帶來的問題-容易形成數據重複(尤爲主鍵仍是在數據庫自增的狀況)。code