Bonjour,
J'essaye de monitorer le changement de requêtes envoyées à ma servlet mais je ne trouve rien de concluant pour l'instant.
Pour être plus précis, voici un exemple :
1) le client envoie une requête (en GET) à ma servlet
2) la servlet reçoit la requête et effectue un traitement (qui varie entre 1 min et 5 min par ex)
3) à la fin du traitement, la servlet renvoie la réponse au client.
Pour l'instant tout va bien, mais le problème survient dans le cas suivant :
1) le client envoie une requête (en GET) à ma servlet
2) la servlet reçoit la requête et effectue un traitement (qui varie entre 1 min et 5 min par ex)
3) le client renvoie une nouvelle requête GET à la servlet (celle-ci continue toujours de traiter la précédente)
4) la servlet doit pouvoir récupérer le fait qu'une nouvelle requête a été faite
5) la servlet annule la précédente
6) la servlet traite la nouvelle requête
7) la servlet renvoie la réponse au client
Pour l'étape 4, je n'arrive pas à intercepter le changement de requête car elle le traite dans un nouveau thread à chaque fois..
Du coup, quand la servlet renvoie le résultat de l'ancienne requête au client dans le stream, apache sort une exception : ClientAbortException.
On suppose ici un environnement multi-client.
Avez vous une idée?
Merci
Partager