Erreur lors du traitement des données volumineuses en utilisant la communication Applet-Servlet

StackOverflow https://stackoverflow.com/questions/3017826

Question

J'ai un Applet qui fait une demande à un Servlet. Sur le servlet il utilise le PrintWriter pour écrire le dos de réponse à Applet:

out.println("Field1|Field2|Field3|Field4|Field5......|Field10");

Il y a environ 15000 dossiers, de sorte que le out.println () est exécuté environ 15000 fois.

Le problème est que lorsque l'Applet obtient la réponse de Servlet il faut environ 15 minutes pour traiter les dossiers. Je mis de System.out.println et le traitement est mis en pause à environ 5000, puis au bout de 15 minutes, il continue le traitement et le fait.

Quelqu'un at-il fait face à un problème similaire? Le servlet prend environ 2 secondes pour exécuter. semble pour que le navigateur / Applet est trop lent pour traiter les dossiers.

Ceci est le code Applet. Parfois, il arrête juste le premier System.out et arrête parfois la deuxième 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);
}

Toutes les idées apprécié.

Merci.

Était-ce utile?

La solution

est-vous la question liée à « traitement étant mis en pause autour de 5000 enregistrements, puis commence à lui-même après 15 »? OU il est en train de traiter la lenteur de votre applet

Il sera utile si vous postez du code extrait de code un peu?

Autres conseils

Supprimer les lignes System.out.println() de la boucle de while. Vous êtes par saldo appeler System.out.println() 30.000 fois. Cela ajouterait beaucoup les frais généraux. Il suffit de placer un avant et un après la boucle de while si vous voulez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top