2014-01-09 2 views
0

По какой-то причине я получаю java.net.ConnectException: Connection timed out из следующего кода ниже. Он отлично работает на моем локальном компьютере, и я могу получить к нему доступ через браузер как на моем локальном, так и на dev-сервере, однако на сервере dev я получаю эту ошибку при попытке ее прочитать.Ошибка тайм-аута URLConnection работает нормально на локальном, но не на dev-сервере

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; 
} 

Full Stack

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] 
+0

Возможно, в настройках вашего браузера на dev-сервере есть также прокси-конфигурация, и именно поэтому она работает из браузера, а не из программы? –

+0

Закройте csvReader istead (который также должен закрыть inputStream) – isah

+0

Я не знаю, что это значит, по конфигурации прокси. –

ответ

0

Похоже, это был вопрос DNS. Я использовал внутренний IP-адрес URL-адреса, и он сработал!

Смежные вопросы