gpt4 book ai didi

java - 测试 http 连接

转载 作者:行者123 更新时间:2023-11-30 05:27:45 27 4
gpt4 key购买 nike

我正在制作一个 Spring Boot 应用程序,我希望在某些 http 连接上启用重试。我对这个应用程序如何比较状态代码并触发重试执行的函数有点困惑。对此的任何见解都会有所帮助,我假设有一个函数可以检索状态代码,但我无法找到它。下面是我创建的类:

公共(public)类 HttpFailedConnectionRetryPolicy 扩展了 ExceptionClassifierRetryPolicy {

@Value("SomeValue")
private Integer maxAttempts;

public HttpFailedConnectionRetryPolicy() {
final NeverRetryPolicy doNotRetry = new NeverRetryPolicy();
final SimpleRetryPolicy simpleRetryPolicy = new SimpleRetryPolicy();
simpleRetryPolicy.setMaxAttempts(maxAttempts);

this.setExceptionClassifier(new Classifier<Throwable, RetryPolicy>() {
@Override
public RetryPolicy classify(Throwable classifiable) {
if (condition) {
return simpleRetryPolicy;
}
return new NeverRetryPolicy();
}
});
}

}

最佳答案

如果您的异常属于 HttpStatusCodeException 类型,您可以检查 e.getStatusCode()

你的情况应该是

public RetryPolicy classify(Throwable classifiable) {
if (classifiable instanceof HttpStatusCodeException) {
if(((HttpStatusCodeException)classifiable).getStatusCode().value!=404)
return simpleRetryPolicy;
}
return new NeverRetryPolicy();
}

关于java - 测试 http 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58206967/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com