随机的HttpHostConnectException连接被拒绝

时间:2020-11-11 09:43:39

标签: java connection-refused httphostconnectexception

我正在从Windows文件系统中读取一些文件,并将它们上传到Cloudsystem中。 jar文件是由Windows Task-Scheduler触发的,Windows Task-Scheduler执行一个小的Batch-Skript来运行jar文件。

java -jar JarFileName

那没什么花哨的。

有时会抛出一个异常,但它是随机发生的,当之前成功执行了某些调用(GET请求)时,也会发生该异常。例如:我有10个GET-Request。前三个请求已成功执行,但第四个GET-Request抛出异常。

IO Exception occured while attempting to get thing configurationorg.apache.http.conn.HttpHostConnectException: Connect to http-proxy-2.name.com:3128 [http-proxy-2.name.com/12.345.678.4] failed: Connection refused: connect org.apache.http.conn.HttpHostConnectException: Connect to http-proxy-2.name.com:3128 [http-proxy-2.name.com/12.345.678.4] failed: Connection refused: connect

这是引发异常的函数

    public static String getThingConfiguration(String thingId) {

    String responseAsString = null;
    String configuration_URI = AeConstants.APP_IOT_MDS + "/Things('" + thingId + "')/Configuration";
    logger.info("##### final getThingConfiguration URI: " + configuration_URI);

    Response response = null;

    try {
        if (SharedConfigFile.proxy_ip != null && SharedConfigFile.proxy_port != null) {
            logger.info("found proxy, connecting via proxy");
            response = Request.Get(configuration_URI).addHeader("Content-Type", "application/json")
                    .addHeader("Authorization", token)
                    .viaProxy(
                            new HttpHost(SharedConfigFile.proxy_ip, Integer.parseInt(SharedConfigFile.proxy_port)))
                    .execute();
        } else {
            logger.info("no proxy found, connecting without proxy");
            response = Request.Get(configuration_URI).addHeader("Content-Type", "application/json")
                    .addHeader("Authorization", token).execute();
        }

        responseAsString = response.returnContent().asString();
    } catch (ClientProtocolException e) {
        e.printStackTrace(printWriter);
        logger.fatal("failed to get thing configuration: " + e + " " + stringWriter.toString());
        System.exit(1);
    } catch (IOException e) {
        e.printStackTrace(printWriter);
        logger.fatal("IO Exception occured while attempting to get thing configuration" + e + " "
                + stringWriter.toString());
        System.exit(1);
    }

    return responseAsString;
}

0 个答案:

没有答案
相关问题