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

JSF Java Discussion :

Temps de traitement/affichage long, rafraichissement manuel obligatoire


Sujet :

JSF Java

  1. #1
    Membre régulier Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 105
    Points
    105
    Par défaut Temps de traitement/affichage long, rafraichissement manuel obligatoire
    hello,

    j'ai un petit souci d'affichage de ma page : certaines de mes actions (exemple : clique sur un bouton) provoquent un temps de travail assez long (plusieurs minutes), et ce pour cause d'appel à d'importantes procédures stockées.

    Le problème, c'est que le temps que le résultat arrive enfin, ma page a "décidé" que c'était trop tard et a eu largement le temps d'afficher le joli "The page cannot be displayed"

    J'ai bien essayé de mettre une richfaces:progressbar, mais ... il me l'affiche qu'à la fin (enfin, quand je rafraichit moi-même quoi), voir pas du tout !

    Auriez vous des idées pour palier à ce problème génant ?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    pour les longs processus, la règle c'est, malheureusement, de les faire dans un thread à part. Ensuite tu fait un page JSF qui affiche l'état d'avancement du processus. Attention cependant à bien t'assurer que le Thread fini bien par s'arrêter. Ce Thread n'étant pas géré par le conteneur j2ee, il pourrait poser problème si il n'est pas arrêté lors de l'arrêt de la webapp (entrainant ainsi soit des memory leaks, soit une impossibilité pour le conteneur j2ee de s'arrêter). Note que, de mémoire, le progressbar richfaces est fait pour des processus pouvant être morcelés: opération 1, rendu , requete, opération 2, rendu, requete, opération 3, rendu .... ou poru des processus Thread: opération 1 (-> crée thread), rendu, requete, opération 2 (-> interroge état du thread) , rendu, requete, opéraiton 3 (->interroge thread) , .....

  3. #3
    Membre régulier Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 105
    Points
    105
    Par défaut
    Merci bcp pour tous ces détails pertinents. J'ai donc pas vraiment le choix, je vais placer mes appels dans des threads, puisque je ne peux pas découper le traitement.. comme tu l'as dis, la progressBar n'est utililsable que dans des traitements morcelables, or moi mon problème, c'est que il n'y a qu'un seul traitement long : l'appel à la proc stock, qui met du temps à rendre le résultat. Seulement, ca c'est pas morcelable...

    Pour les questions de mémoire, je vais faire attention, peut etre même mettre des timer pour éviter les erreurs..

    Et au cas ou j'arrive à mettre une progressBar, je suis obligé de faire une seconde page JSP ? mais comment je rappelle la première ? enfin, comment elle se rappelle automomatiquement ?

    Sinon, pour faire au plus simple, que pensez vous d'un simple gif animé ? J'ai vu cette solution dans quelques forums...

  4. #4
    Membre régulier Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 105
    Points
    105
    Par défaut
    bon, bah je suis passé par un thread... dommage qu'on puisse pas simplifier ca

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    bah, perso j'y avais été en javascript ici pour un process de +- 2 minutes.

    onclick: disparition de la page web, apparition d'un "veuillez patienter çà va prendre du temps", et çà disparait quand le serveur envoie la réponse Comme çà, absolument rien à faire coté serveur (pas de thread, pas de morcelage) et le user attends sagement en regardant la barre qui fait des aller - retour ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Temps de traitement long
    Par Matgic95 dans le forum VBA Word
    Réponses: 6
    Dernier message: 06/05/2008, 11h03
  2. Réponses: 3
    Dernier message: 22/08/2007, 16h53
  3. Temps de Traitement trop long
    Par RGShoop dans le forum VBA Access
    Réponses: 2
    Dernier message: 21/06/2007, 15h41
  4. [VBA-E] Temps de traitement long
    Par argoet dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/05/2006, 09h58
  5. [Tableaux] Temps de traitement ... affichage de page
    Par mathieu77186 dans le forum Langage
    Réponses: 37
    Dernier message: 25/10/2005, 17h45

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