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