diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java index 789649a..06508d5 100644 --- a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/service/wvp/WvpService.java @@ -275,6 +275,12 @@ public class WvpService { JsonResponse addDownloadTask2MediaServer = wvpProxyClient.addDownloadTask2MediaServer(token, mediaServerId, new AddDownloadTaskReq(app, stream)); String taskId = addDownloadTask2MediaServer.getData(); Retryer> mediaServerRetryer = RetryUtil.getDefaultRetryerBuilder("从 mediaServer 获取视频") + // 重试间隔 + .withWaitStrategy(WaitStrategies.fixedWait(RetryUtil.DEFAULT_RETRY_INTERVAL, TimeUnit.SECONDS)) + // 重试次数 + .withStopStrategy(StopStrategies.stopAfterAttempt(RetryUtil.DEFAULT_RETRY_TIME)) + .retryIfResult(RetryUtil.defaultRetryIf()) + .withRetryListener(RetryUtil.defaultRetryListener("从 mediaServer 获取视频")) .withStopStrategy(StopStrategies.stopAfterAttempt(10)) .build(); return mediaServerRetryer.call(() -> { diff --git a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/utils/RetryUtil.java b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/utils/RetryUtil.java index d2b573e..1b8a0ae 100644 --- a/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/utils/RetryUtil.java +++ b/gb28181-wvp-proxy-service/src/main/java/cn/skcks/docking/gb28181/wvp/utils/RetryUtil.java @@ -57,18 +57,19 @@ public class RetryUtil { return RetryerBuilder.>newBuilder() // 异常就重试 .retryIfException() - .retryIfRuntimeException() + .retryIfRuntimeException(); + } + + + public static Retryer> getDefaultRetryer(String name) { + return RetryUtil.getDefaultRetryerBuilder(name) // 重试间隔 .withWaitStrategy(WaitStrategies.fixedWait(DEFAULT_RETRY_INTERVAL, TimeUnit.SECONDS)) // 重试次数 .withStopStrategy(StopStrategies.stopAfterAttempt(DEFAULT_RETRY_TIME)) .retryIfResult(defaultRetryIf()) - .withRetryListener(defaultRetryListener(name)); - } - - - public static Retryer> getDefaultRetryer(String name) { - return RetryUtil.getDefaultRetryerBuilder(name).build(); + .withRetryListener(defaultRetryListener(name)) + .build(); } public static RetryerBuilder> getDefaultGenericRetryerBuilder(String name, int retryTime, long retryInterval, TimeUnit retryTimeUnit,RetryListener retryListener) {