IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Monitorer changement rêquete


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Monitorer changement rêquete
    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

  2. #2
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Salut,
    Peux tu préciser le point 3.
    Comment fait le client (le même) pour envoyer une nouvelle requête alors que la réponse de la précédente n'a pas été retournée?
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Les servlets étant multi-thread, la deuxième requête s'exécute dans un second thread. Il faut programmer toi-même l'exclusion, avec par exemple un test de l'adresse du client (basic) ou un identificateur du client passé avec les requêtes.
    Il serait préférable d'interdire au client d'envoyer plusieurs fois la même requête.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Changement de l'icone d'une appli sous kdevelop
    Par vedder dans le forum Linux
    Réponses: 3
    Dernier message: 06/02/2003, 14h16
  2. le monitoring
    Par bollam dans le forum Développement
    Réponses: 6
    Dernier message: 16/12/2002, 08h22
  3. Changement de langue dynamique (D6 et outils de traduction)
    Par agon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2002, 16h15
  4. URGENT : Zoom et changement de repère
    Par poca10 dans le forum MFC
    Réponses: 5
    Dernier message: 28/05/2002, 13h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo