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.
Partager