HttpURLConnection заблокирован

У меня есть поток, работающий под котом, который создает HttpUrlConnection и читает его через BufferedInputStream.

После выбирающих данных для некоторых URL это останавливается. Я получил jstack процесса, который говорит, что HttpUrlConnection заблокирован, и BufferedInputStream также заблокирован.

"http-8080-1" daemon prio=10 tid=0x08683400 nid=0x79c9 runnable [0x8f618000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
        - locked <0x956ef8c0> (a java.io.BufferedInputStream)
        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
        - locked <0x956ef910> (a sun.net.www.protocol.http.HttpURLConnection)

Мог кто-то помогать здесь.Спасибо

6
задан Nayn 8 June 2010 в 16:35
поделиться

1 ответ

У вас, вероятно, проблема на другом конце провода. read () для InputStream - это операция блокировки - из javadoc ( http://java.sun.com/javase/6/docs/api/ ): «Этот метод блокируется до тех пор, пока входные данные не станут доступны. , обнаруживается конец потока или создается исключение. "

Отвечает ли сервер на другом конце? Вы знаете, отправил ли он что-нибудь?

edit: Чтобы было понятнее, поток находится в состоянии RUNNABLE, поэтому вы не зашли в тупик - похоже, что вы так думаете, но здесь нет никаких доказательств любого тупика.

6
ответ дан 17 December 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: