Hallo,
ich weiß ich habe schon mal einen ganz ähnlichen Thread verfasst. Trotzdem stelle ich folgende Frage:
Also ich habe eine Klasse die mit zehn Threads die den HTML-Quelltext einer Seite ausliest und in in einer .txt Datei speichert.
Das ist der Codeabschnitt mit dem die Webseite ausgelesen wird, nichts besonderes.
Für die ersten 2370 URLs läuft mein 'Programm' auch reibungslos bis es auf einmal stockt, also es läuft offiziel weiter schreibt aber keine Daten mehr. Und es wird auch keine Exception geworfen. Da ich mir die Ursache deshalb überhaupt nicht erklären kann warum das Programm stockt da ich keinen Ansatz habe, habe ich mich entschlossen die Sache einfach so zu 'lösen', mehr schlecht als recht. indem ich jedem URL -Abruf eine gewisse Rechenzeit zuordne. Das soll über den sogannten TaskManager gehen. Nur leider kann ich kein passendes Besipiel finden wie man sowas macht. Für einen Tipp oder wo ich Material finden kann, wäre ich sehr dankbar.
Gruß
Gaston
ich weiß ich habe schon mal einen ganz ähnlichen Thread verfasst. Trotzdem stelle ich folgende Frage:
Also ich habe eine Klasse die mit zehn Threads die den HTML-Quelltext einer Seite ausliest und in in einer .txt Datei speichert.
Das ist der Codeabschnitt mit dem die Webseite ausgelesen wird, nichts besonderes.
Code:
URL url=new URL(Url);
HttpURLConnection huc=(HttpURLConnection) url.openConnection();
huc.setConnectTimeout(30000);
if (huc.getResponseCode() == HttpURLConnection.HTTP_OK)
{
InputStream is=url.openStream();
Scanner in=new Scanner(is);
while(in.hasNextLine())
{
String line=in.nextLine();
f1.write(line);
}
}
Für die ersten 2370 URLs läuft mein 'Programm' auch reibungslos bis es auf einmal stockt, also es läuft offiziel weiter schreibt aber keine Daten mehr. Und es wird auch keine Exception geworfen. Da ich mir die Ursache deshalb überhaupt nicht erklären kann warum das Programm stockt da ich keinen Ansatz habe, habe ich mich entschlossen die Sache einfach so zu 'lösen', mehr schlecht als recht. indem ich jedem URL -Abruf eine gewisse Rechenzeit zuordne. Das soll über den sogannten TaskManager gehen. Nur leider kann ich kein passendes Besipiel finden wie man sowas macht. Für einen Tipp oder wo ich Material finden kann, wäre ich sehr dankbar.
Gruß
Gaston