Servlet --> Berechnung --> Timeout vom Proxy oder IE!?

Status
Nicht offen für weitere Antworten.
M

Maik

Gast
Folgende Ausgangssituation:
Ich habe ein Servlet geschrieben, welches große Datenmengen aus einer Datenbank holt und daraus dann verschiedenste Werte berechnet. Nachdem alle Berechnungen ausgeführt sind werden die Ergebnisse in einem Report ausgegeben. Je nach Datenmenge dauert die Berechnung/SQL-Abfragen ca. 2- 20 min.
Das Servlet wird über den Browser (IE 6.0) gestartet. Nach ca. 2min bricht der IE mit Fehlermeldung ab--> zero Request.

Versuch das Problem zu lösen --> ohne Erfolg
Und hier liegt das Problem, wenn eine Abfrage länger als 2min dauert bekommt man als Antwort diesen o.g. Fehler. Schlussfolgerung daraus, dass Timeout des Proxys hoch zu setzen --> leider ohne Erfolg. Abfragen kürzer als 2 min sind funktioniert alles wunderbar.

Ich weis nicht wo genau das Problem liegt, am IE oder am Proxy. Es muss doch irgendeine Lösung für dieses Problem geben !!?

MfG Maik
 
C

CoolHOur

Gast
Hi!

Mit dem TimeOut geht das voll in Ordnung. Du wirst es über den Timeout nie hinbekommen.
Folgendes Vorgehen, wäre richtig.
Im Servlet ein Thread abspalten, welches die BErechnung vornimmt. Das Servlet dem Client, die Nachricht zusenden, dass berechnet wird. Den Client alle ca. 5 s. eine Anfrage an das Servlet machen, ob der Thread schon am Ende ist, wenn ja, REsult zurückgeben.
Anders, wird es nie funktionieren und würde auch keinen Sinn machen. Bei den intervallartigen Abfragen, wäre auch ein Statusreport für den Client denkbar. Der Mensch muss auch sehen, das sich da was bewegt.

Gruß CoolHour
http://www.java-studio.de
 

Wyvern

Mitglied
Habe jetzt fast das selbe Problem.
Der Tomcat muß nach einem Request aus ner großen (und elend langsamen) Datenbank Daten sammeln. Das kann mehrere Minuten dauern, und der Browser bekommt nen Fehler:
"Zero Sized Reply
Squid did not receive any data for this request. "

Wenn es nicht über den Browsertimeout geht, gibts dann irgendwo ein Beispiel, wie das mit dem Thread abspalten und dem Nachfragen des Client mit Struts funktioniert?
 
M

maki

Gast
Da wahrscheinlich mehrere Benutzer diesen Report starten können, wäre es sehr sinnvoll über sowas wie ein Batch Processing nachzudenken, schliesslich soll der Server ja nicht in die Knie gehen, nur weil 3 Leute einen Report starten.
 

Wyvern

Mitglied
Ja, auf das System sollen mehrere bis viele Leute zugreifen. Dieser Report ist zwar nicht einer der oft genutzten, aber hin und wieder wird er definitiv verwendet.
Hast Du ein Beispiel, oder gibts ne Anleitung, wie ich das in Struts integrieren kann?
 
M

maki

Gast
Hast Du ein Beispiel, oder gibts ne Anleitung, wie ich das in Struts integrieren kann?
Struts ist zuständig für das Frontend, was du brächtest wäre in der Logik Schicht untergebracht, sowas wie eine Queue mit Jobs die im Hintergrund läuft, die nacheinander abgearbeitet werden.
Der User braucht eine Übersicht über die Queue, dass er weiss, wenn sein Job fertig ist. Dann muss er natürlich noch auf den fertigen Report zugreifen können.
 

Wyvern

Mitglied
Hmmm, ja. Das wäre das mit dem eigenen Thread, der losläuft, und parallel dazu vielleicht n Ladebildschirm auf dem Browser angezeigt wird. Dieser Ladebildschirm fragt alle 10 s oder so irgend einen Status des Threads ab.
Aber wie genau funktioniert das? Da bin ich etwas aufgeschmissen.

Weil es ist leider nicht praktikabel, dem User zu sagen "in 3 Min hast die Seite - mach derweil was anderes" Ich will den User nur zeigen: Es passiert was. Und der Browser sollt den Request eben nicht abbrechen.
 
M

maki

Gast
Weil es ist leider nicht praktikabel, dem User zu sagen "in 3 Min hast die Seite - mach derweil was anderes" Ich will den User nur zeigen: Es passiert was. Und der Browser sollt den Request eben nicht abbrechen.
Nix für ungut, aber schon auf Mainframes hatte man das Problem, dass Reports manchmal Stundenlang brauchen um erstellt zu werden.

Es ist sicherlich nicht praktikabel den User 20 Minuten oder länger vor dem Bldschirm sitzen zu lassen nach dem Motto "Bis das Ding nicht fertig ist, kannst du nichts anderes machen.".

Was passiert denn, wenn 3 User gleichzeitig so einen Report erstellen wollen? Müssen die dann 3-60 Minuten auf den Bildschirm starren, ohne die Anwendung weiter benutzen zu können.
Was passiert, wenn der Browser geschlossen wird bevor der Report fertig ist, müssen sie ihn dann neu starten?

Du könntest ja eine Ansicht implementieren, in der die User sehen können, welcher Job gerade läuft, welcher als nächstes dran ist und bei fertigen Jobs einen link zur erstellten Reportdatei.

Eine einfache Lösung hab ich nicht für dich parat, vielleicht fält jemand anderem noch etwas ein.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
M Parameter auslesen im Servlet Allgemeine Java-Themen 0
E Die if-Anweisung in einer Java Bean bzw. in einem Servlet? Allgemeine Java-Themen 8
A Registrierungs-servlet Allgemeine Java-Themen 0
S Servlet, per URLConnection Mit String Http Parameter mitsenden Allgemeine Java-Themen 3
F Benachrichtigungs-System Webapp Java Servlet Allgemeine Java-Themen 10
B Userdaten in Hashmap speichern - Servlet Allgemeine Java-Themen 6
S Bildaufbau durch Servlet -> Exception Allgemeine Java-Themen 11
N Servlet welches PDF erzeugt Allgemeine Java-Themen 10
U Servlet in Webseite einbinden Allgemeine Java-Themen 1
S Java Servlet Cache + Cache-Management Allgemeine Java-Themen 14
J package javax.servlet does not exist Allgemeine Java-Themen 5
P Servlet Eingaben sicher machen Allgemeine Java-Themen 5
P DocumentBuilder servlet Allgemeine Java-Themen 9
V [solved]Von Java Prog über ein JSP/Servlet auf DB zugreifen Allgemeine Java-Themen 3
M Applet Servlet Kommunikation ein Problem bei externem Server Allgemeine Java-Themen 3
G Servlet über apache Tomcat ansprechen Allgemeine Java-Themen 6
E Servlet wartet auf Thread Allgemeine Java-Themen 2
N Hardware-Webserver mit Java (JSP/Servlet)-Unterstützung? Allgemeine Java-Themen 8
K HTML-Formular findet Servlet nicht Allgemeine Java-Themen 2
K Servlet im Browser aufrufen Allgemeine Java-Themen 3
J einfachster Servlet-Aufruf klappt nicht Allgemeine Java-Themen 3
I Servlet von einem Swing Based GUI aufrufen Allgemeine Java-Themen 5
G Servlet Register/Login-Prozedur Allgemeine Java-Themen 9
T URL in Servlet auslesen? Allgemeine Java-Themen 4
A Was ist bei einem Servlet beim Client notwendig? Allgemeine Java-Themen 22
T Profiler für Servlet Allgemeine Java-Themen 2
T Servlet und JFrame Allgemeine Java-Themen 2
L E-Mail Auswertung mit Servlet (Excel) Allgemeine Java-Themen 3
L String ausgeben in Servlet Allgemeine Java-Themen 2
P Filestream von HTML-Form zu Servlet Allgemeine Java-Themen 6
B Suche Webhoster mit Javaunterstützung (JSP, Servlet) Allgemeine Java-Themen 10
P Was ist der Unterschied zwischen JSP und Servlet ? Allgemeine Java-Themen 4
M Wo krieg' ich die Datei Servlet.jar Allgemeine Java-Themen 3
R Servlet Probleme im Internet Explorer (per LAN) Allgemeine Java-Themen 4
G Servlet - "Client immer am neuesten Stand" Allgemeine Java-Themen 2
N Diagramm beschriften, Servlet Allgemeine Java-Themen 5
R suche servlet.jar Allgemeine Java-Themen 2
P Servlet, Deserialisieren, StreamCorruptedException Allgemeine Java-Themen 9
R Servlet, das File zurückliefert Allgemeine Java-Themen 4
1 Applet soll PDF von Servlet empfangen Allgemeine Java-Themen 3
E Servlet-Beispiel gesucht Allgemeine Java-Themen 3
H Variablenübergabe von Servlet zu JSP Allgemeine Java-Themen 18
M Mit HTML in Servlet Daten austauschen Allgemeine Java-Themen 3
H Servlet/Applet Kommunikation Allgemeine Java-Themen 2
A Formular POST übergabe an Servlet Allgemeine Java-Themen 4
pkm Berechnung der Fakultät von Fließkommazahlen anhand von Stirlingformel Allgemeine Java-Themen 4
I Berechnung Lagerbestands / Verfügbarkeitsprüfung Allgemeine Java-Themen 1
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Korrektur nach der Berechnung vornehmen, aber wie? Allgemeine Java-Themen 11
D Berechnung des Cosinus Allgemeine Java-Themen 4
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
A Fehlerhafte Nst Berechnung einer bestimmten Fkt. (Bisektion) Allgemeine Java-Themen 10
E Berechnung des Schnittpunktes von zwei Geraden Allgemeine Java-Themen 1
P Performate Zeiteiteiteilungs- Berechnung Allgemeine Java-Themen 4
B TileMap berechnung? Allgemeine Java-Themen 8
P jodaTime Berechnung Geburtstag Allgemeine Java-Themen 1
K Probleme bei Berechnung der Komplexität Allgemeine Java-Themen 7
S Welcher Schleifen type für eine Berechnung Allgemeine Java-Themen 7
B BlueJ Potenz Berechnung Allgemeine Java-Themen 16
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
M Berechnung verbessern Allgemeine Java-Themen 8
W OOP Berechnung des Skalarprodukts Allgemeine Java-Themen 9
H Demonstrationsprogramm zur CRC-Berechnung Allgemeine Java-Themen 2
D Berechnung von Sonnenauf und Sonnenuntergang Allgemeine Java-Themen 2
E Berechnung in Arraylist Allgemeine Java-Themen 10
R Eclipse Verschiedene Ergebnisse bei Berechnung eines double-Werts Allgemeine Java-Themen 5
E Falsche Ergebnisse bei PQ-Formel Berechnung Allgemeine Java-Themen 12
N Optimierung einer Berechnung Allgemeine Java-Themen 17
G java.sql Time Berechnung Allgemeine Java-Themen 6
Eldorado Berechnung von Koordinaten, die zufällig aussehen Allgemeine Java-Themen 5
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
J Berechnung anhand einer XML-Datei Allgemeine Java-Themen 3
Private Void rekursive vs. iterative Lösung für Berechnung der Fakultät Allgemeine Java-Themen 12
S YUV to RGB (einfache Berechnung) Allgemeine Java-Themen 5
G Programm zur Berechnung von Summe, Median, Erwartungswert, usw von einem Array Allgemeine Java-Themen 7
C Bilder rotieren, Denkfehler in der Berechnung? Allgemeine Java-Themen 2
B Berechnung von Punkten/ If-else Strategie?! Allgemeine Java-Themen 51
T Berechnung in zweidimensionalem Array Allgemeine Java-Themen 3
X hashCode() Berechnung Allgemeine Java-Themen 5
R Tabelle - Berechnung der "Zeilenart" Allgemeine Java-Themen 2
L Berechnung mit Module bis bes.timme Zahl erreicht. Allgemeine Java-Themen 4
P CRC Berechnung Allgemeine Java-Themen 2
J berechnung von potenzen und wurzel-ziehen ohne klasse " Allgemeine Java-Themen 14
D Problem bei einer Berechnung (pow?) Allgemeine Java-Themen 3
P Java-Programm zur Berechnung globaler Minimas und Maximas-ff Allgemeine Java-Themen 4
B Primzahlen Berechnung optimieren Allgemeine Java-Themen 7
A Probleme bei der Berechnung von Pi! Java Problem Allgemeine Java-Themen 2
M Webservice timeout bei Ausführung der .jar Allgemeine Java-Themen 3
M iMacros/Timeout Allgemeine Java-Themen 0
G Timeout funktion zu einer Eventlogabfrage Allgemeine Java-Themen 2
N Timeout setzen Allgemeine Java-Themen 10
R Socket verbindung mit Timeout Allgemeine Java-Themen 2
S Thread nach Timeout beenden Allgemeine Java-Themen 2
K Runtime.exec mit Timeout Allgemeine Java-Themen 5
J url-Service timeout einrichten? Allgemeine Java-Themen 10
P Nicht terminierende Methoden abfangen - timeout ? Allgemeine Java-Themen 3
0 Timeout für Thread setzen? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben