2014-01-09 4 views
0

어떤 이유인지 아래 코드에서 java.net.ConnectException: Connection timed out을 받았습니다. 그것은 내 로컬 컴퓨터에서 잘 작동하며 브라우저를 통해 로컬 및 dev 서버에서 액세스 할 수 있지만 dev 서버에서 읽을 때이 오류가 발생합니다. 그것은 DNS 문제처럼로컬에서는 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; 
} 

전체 스택

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

보인다. URL의 내부 IP를 사용했는데 작동했습니다!