Dubbo 服务在尝试调用一次之后,如出现非业务异常(服务突然不可用、超时等),Dubbo 默认会进行额外的最多2次重试.
重试次数支持两种自定义配置: 1.通过注解/xml进行固定配置;2.通过上下文进行运行时动态配置
通过注解/xml进行固定配置
<dubbo:consumer retries="2"></dubbo:consumer>
通过RpcContext进行运行时动态配置,优先级高于注解/xml进行的固定配置(两者都配置的情况下,以RpcContext配置为准).
// dubbo服务调用前,通过RpcContext动态设置本次调用的重试次数
RpcContext rpcContext = RpcContext.getContext();
rpcContext.setAttachment("retries", 5);