简体   繁体   English

再试一次的 GET 请求上的 I/O 错误; 嵌套异常是 java.net.UnknownHostException: 再试一次

[英]I/O error on GET request for Try again; nested exception is java.net.UnknownHostException: Try again

Technologies: Java + Spring boot(2.5.2).技术:Java + Spring 引导 (2.5.2)。 I have upgraded my application from Java 8 to Java 11 (OpenJDK).我已将我的应用程序从 Java 8 升级到 Java 11 (OpenJDK)。

Previously I received below error so that I used do-while loop to retry until receive success response.以前我收到以下错误,所以我使用 do-while 循环重试直到收到成功响应。

Java 8 - received success response less than 5 attempts Java 8 - 收到的成功响应少于 5 次尝试

Java 11 - at 10th attempt also I am receiving same error Java 11 - 在第 10 次尝试时我也收到同样的错误

Error Log:错误日志:

I/O error on POST request for "https://<externalurl>": <externalurl>; “https://<externalurl>”的 POST 请求的 I/O 错误:<externalurl>; nested exception is java.net.UnknownHostException: <externalurl>嵌套异常是 java.net.UnknownHostException: <externalurl>

@Bean
    public RestTemplate restTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.setErrorHandler(new ResponseErrorHandler());
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
        requestFactory.setOutputStreaming(false);
        restTemplate.setRequestFactory(requestFactory);
        return restTemplate;
    }

Custom docker image with the combination of Alpine v3.11.3 and OpenJDK 11 working for me.结合 Alpine v3.11.3 和 OpenJDK 11 为我工作的自定义 docker 图像。 There is some issue with DNS resolution in all other versions of Alpine (Latest version v3.15.0 also).在所有其他版本的 Alpine 中,DNS 分辨率存在一些问题(最新版本 v3.15.0 也是如此)。

We will face similar issue in Debian OS - retry logic like sending same request again will work我们将在 Debian 操作系统中面临类似的问题 - 重试逻辑(例如再次发送相同的请求)将起作用

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM