Problemi elaborazione di grandi dati mediante comunicazione Applet-Servlet
-
26-09-2019 - |
Domanda
Ho un applet che fa una richiesta a un Servlet. Sul servlet che sta utilizzando il PrintWriter di scrivere sul retro risposta a Applet:
out.println("Field1|Field2|Field3|Field4|Field5......|Field10");
Ci sono circa 15000 record, in modo che l'out.println () viene eseguito su 15000 volte.
Il problema è che, quando l'applet ottiene la risposta dal Servlet ci vogliono circa 15 minuti per elaborare i record. Ho messo di System.out.println e la lavorazione viene messa in pausa a circa 5000, quindi dopo 15 minuti si continua l'elaborazione e quindi il suo fare.
Qualcuno ha affrontato un problema simile? Il servlet dura circa 2 secondi per eseguire. Così sembra che il browser / applet è troppo lento per elaborare i record.
Questo è il codice applet. A volte si ferma solo al primo System.out e, talvolta, si ferma al secondo System.out.
while ((line = in.readLine()) != null) {
System.out.println("Reading from stream....");
datavector.add(line);
System.out.println("Vector size="+datavector.size()+" Line added="+line);
}
Tutte le idee apprezzato.
Grazie.
Soluzione
è che si domanda relativa a "l'elaborazione di essere messo in pausa circa 5000 record e poi inizia da solo dopo 15"? O si sta elaborando è lento sul vostro applet
Sarà utile se il codice si registra qualche frammento di codice?
Altri suggerimenti
Rimuovere le linee System.out.println()
dal ciclo while
. Sei al saldo chiamando System.out.println()
30.000 volte. Che aggiungerebbe molto in testa. Basta posizionare uno prima e uno dopo il ciclo while
se si desidera.