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

Java EE Discussion :

pattern value list handler pour developper un forum


Sujet :

Java EE

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Points : 250
    Points
    250
    Par défaut pattern value list handler pour developper un forum
    bonjour,
    je développe une application avec servlet, JSP, EJB+JBOSS et je veux développer un forum en java.

    J'ai trouvé un pattern intéressant : "Value List Handler" (http://java.sun.com/blueprints/corej...stHandler.html ) qui me permet de récupérer toutes les discussions du forum une première fois et de renvoyer suivant la requête seulement les 30 premiers résultats de la première page ou les 30 résultats de la page n. L'avantage est que la récupération de la liste de départ se fait une seule fois et elle est stockée en mémoire. Ensuite on parcourtb la liste et on renvoie une sous liste.

    Pour stocker la liste en mémoire, j'ai pensé à utiliser un stateful session bean qui stocke en mémoire la liste pour une session donnée. Mais le probléme est : qu'adviendra t-il si j'ai 1000 clients connectés qui me donneront 1000 sessions et 1000 liste stockées en mémoire ? Les performances vont être catastrophiques car le stateful session bean utilise beaucoup de ressources.

    L'idéal serait d'avoir une bean qui ait un scope application et que je raffraichisse la list uniquement lorsqu'on accède à la première page. Mais je ne sais pas comment implémenter cela. D'autre part il risque d'y avoir des lectures fantômes entre 2 clients différents. Utilisant la technologie EJB, suis-je obligé d'utiliser un EJB ou puis-je utiliser un bean quelconque avec une mise en mémoire avec un scope application ?

    Merci si vous avez des idées sur la question.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 22
    Points
    22
    Par défaut
    Oui effectivement tu ne devrais pas gérer une liste par utilisateur dans ton application c'est crade et ça sert a peu de chose...

    Sinon pour répondre a ton problème, il y a deux choses a voir :
    1 - Pour récupérer ton object partout dans ton application je te conseille soit de le mettre dans un singleton (pas forcement le mieux mais a voir) soit de le mettre dans le scope application qoit dans ta servlet tu fait un getServletContext().setAttribut ou un truc comme ça

    2 - Comment mets-tu à jours les nouveaux posts d'un autre utilisateur ? C'est souvent un peu relou.

    En définitive, sauf si le besoin s'en fait sentir n'utilise pas ce pattern pour cet application et applique ce petit conseil qui m'aide souvent : "n'optimise jamais avant d'avoir mesurer" et également le principe KISS (keep it simple stupid)

    Ca te fais gagner beaucoup de temps et te permet d'avoir une version utilisable et de l'optimiser au besoin.

Discussions similaires

  1. [JSP/Servlet] Outils pour developper?
    Par BenoitM dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/05/2004, 11h03
  2. JBuilder ou eclipse pour developpement logiciel ?
    Par noOneIsInnocent dans le forum Eclipse
    Réponses: 15
    Dernier message: 12/04/2004, 14h52
  3. Conseils pour developper une application avec Oracle
    Par belugha dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/06/2003, 16h03

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