我想在我的 WebClient 调用中添加模拟延迟的代码,这样我就可以确保我的超时/重试/等工作正常。
由于 WebClient 是反应式的并且使用线程池,因此它似乎Thread.sleep
会以 WebClient 在实际使用中通常不会被阻塞的方式阻塞线程。
有没有更好的方法来模拟这种延迟?
public class LatencyInducingRequestInterceptor implements ClientHttpRequestInterceptor {
public ClientHttpResponse intercept(
HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
ClientHttpResponse response = execution.execute(request, body);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// do nothing
}
return response;
}
}