调整 playbackStart 重试策略
This commit is contained in:
parent
b0cdba12f7
commit
b98acc9cd4
@ -198,7 +198,9 @@ public class WvpService {
|
|||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
private void downloadFromPlayback(HttpServletResponse response, String token, String deviceId, String channelId, String startTime, String endTime){
|
private void downloadFromPlayback(HttpServletResponse response, String token, String deviceId, String channelId, String startTime, String endTime){
|
||||||
Retryer<JsonResponse<StreamContent>> playBackRetryer = RetryUtil.getDefaultRetryer("通过回放获取实时视频流下载");
|
Retryer<JsonResponse<StreamContent>> playBackRetryer = RetryUtil
|
||||||
|
.<StreamContent>getDefaultRetryerBuilder("通过回放获取实时视频流下载", 100, TimeUnit.MILLISECONDS, 5)
|
||||||
|
.build();
|
||||||
JsonResponse<StreamContent> videoStreamResponse = playBackRetryer.call(() -> wvpProxyClient.playbackStart(token, deviceId, channelId, new GeneralTimeReq(startTime, endTime)));
|
JsonResponse<StreamContent> videoStreamResponse = playBackRetryer.call(() -> wvpProxyClient.playbackStart(token, deviceId, channelId, new GeneralTimeReq(startTime, endTime)));
|
||||||
StreamContent streamContent = videoStreamResponse.getData();
|
StreamContent streamContent = videoStreamResponse.getData();
|
||||||
String stream = streamContent.getStream();
|
String stream = streamContent.getStream();
|
||||||
|
@ -40,6 +40,19 @@ public class RetryUtil {
|
|||||||
return result -> result == null || (result.getCode() != 0 && result.getCode() != 200);
|
return result -> result == null || (result.getCode() != 0 && result.getCode() != 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T> RetryerBuilder<JsonResponse<T>> getDefaultRetryerBuilder(String name, int waitTime, TimeUnit waitUnit, int retryTime) {
|
||||||
|
return RetryerBuilder.<JsonResponse<T>>newBuilder()
|
||||||
|
// 异常就重试
|
||||||
|
.retryIfException()
|
||||||
|
.retryIfRuntimeException()
|
||||||
|
// 重试间隔
|
||||||
|
.withWaitStrategy(WaitStrategies.fixedWait(waitTime, waitUnit))
|
||||||
|
// 重试次数
|
||||||
|
.withStopStrategy(StopStrategies.stopAfterAttempt(retryTime))
|
||||||
|
.retryIfResult(defaultRetryIf())
|
||||||
|
.withRetryListener(defaultRetryListener(name));
|
||||||
|
}
|
||||||
|
|
||||||
public static <T> RetryerBuilder<JsonResponse<T>> getDefaultRetryerBuilder(String name) {
|
public static <T> RetryerBuilder<JsonResponse<T>> getDefaultRetryerBuilder(String name) {
|
||||||
return RetryerBuilder.<JsonResponse<T>>newBuilder()
|
return RetryerBuilder.<JsonResponse<T>>newBuilder()
|
||||||
// 异常就重试
|
// 异常就重试
|
||||||
|
@ -33,6 +33,9 @@ spring:
|
|||||||
connection-timeout: 0
|
connection-timeout: 0
|
||||||
ok-http:
|
ok-http:
|
||||||
read-timeout: 0
|
read-timeout: 0
|
||||||
|
hc5:
|
||||||
|
connection-request-timeout: 60
|
||||||
|
connection-request-timeout-unit: seconds
|
||||||
|
|
||||||
media:
|
media:
|
||||||
ip: 192.168.1.241
|
ip: 192.168.1.241
|
||||||
|
Loading…
Reference in New Issue
Block a user