Я пытаюсь получить HTTP-коды с веб-сайтов.Когда я разбираю сайты без потоков, один за другим, все нормально.Но если я использую потоки, иногда я получаю
java.sql.SQLException: After end of result set
на
URL url = new URL(rset.getString("url"));
Я думаю, что проблема в тайм-аутах, и пытался разорвать цикл, если тайм-аут>>, то я хочу.
if (connection.getConnectTimeout()>10)
{
System.out.println("timeout");
break;
}
Но похоже, что это никогда не работает.Что я делаю неправильно?Спасибо.Полная часть кода проблемы приведена ниже.
static class JThread extends Thread {
JThread(String name){
super(name);
}
public void run() {
try {
while (rset.next()) {
System.out.println("hello");
URL url = new URL(rset.getString("url"));
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
if (connection.getConnectTimeout()>10)
{
System.out.println("timeout");
break;
}
//Thread.sleep(1000);
int code = connection.getResponseCode();
System.out.println(code);
}
} catch (SQLException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Thread stopped");
}
}