code: private Object retry4ConfDownload(RemoteUrl remoteUrl, File localTmpFile, int retryTimes, int sleepSeconds)
              throws Exception {
          Exception ex = null;
          for (URL url : remoteUrl.getUrls()) {
  
              // 可重试的下载
              UnreliableInterface unreliableImpl = new FetchConfFile(url, localTmpFile);
  
              try {
  
                  return retryStrategy.retry(unreliableImpl, retryTimes, sleepSeconds);
  
              } catch (Exception e) {
                  ex = e;
                  try {
                      Thread.sleep(1000);
                  } catch (InterruptedException e1) {
                      LOGGER.info("pass");
                  }
              }
          }
  
          throw new Exception("download failed.", ex);
      }
docs: Retry封装 RemoteUrl 支持多Server的下载
  
  @param remoteUrl
  @param localTmpFile
  @param retryTimes
  @param sleepSeconds
  
  @return