URLConnection超时错误在本地工作正常,但在开发服务器上没有

时间:2014-01-09 19:40:46

标签: java spring tomcat timeout urlconnection

出于某种原因,我从下面的代码中收到java.net.ConnectException: Connection timed out。它在我的本地计算机上工作正常,我可以通过我的本地和开发服务器上的浏览器访问它,但是在开发服务器上,我在尝试阅读它时会收到此错误。

public List<NodeMap> downloadFile(String fileUrl) {

    InputStream inputStream = null;

    try {

        URL url = new URL(fileUrl);
        URLConnection con = url.openConnection();
        con.setConnectTimeout(60000);
        con.setReadTimeout(60000);
        inputStream = con.getInputStream();

        CSVReader csvReader = new CSVReader(new InputStreamReader(inputStream),',','"');

        return iterateRows(csvReader);
    }
    catch (IOException e) {
        LOG.error("Node mapping file", e);
    }
    finally {
        IOUtils.closeQuietly(inputStream);
    }

    return null;
}

完整筹码

java.net.ConnectException: Connection timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.7.0_21]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) ~[na:1.7.0_21]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) ~[na:1.7.0_21]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) ~[na:1.7.0_21]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) ~[na:1.7.0_21]
        at java.net.Socket.connect(Socket.java:579) ~[na:1.7.0_21]
        at sun.net.NetworkClient.doConnect(NetworkClient.java:175) ~[na:1.7.0_21]
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:378) ~[na:1.7.0_21]
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:473) ~[na:1.7.0_21]
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:203) ~[na:1.7.0_21]
        at sun.net.www.http.HttpClient.New(HttpClient.java:290) ~[na:1.7.0_21]
        at sun.net.www.http.HttpClient.New(HttpClient.java:306) ~[na:1.7.0_21]
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:995) ~[na:1.7.0_21]
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:931) ~[na:1.7.0_21]
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:849) ~[na:1.7.0_21]
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299) ~[na:1.7.0_21]

1 个答案:

答案 0 :(得分:0)

看起来这是一个DNS问题。我使用了url的内部IP,它运行了!