2010-02-12 11 views
4

Création d'une application JSF avec Spring sur Tomcat. La cible est une ferme Web, et le client a demandé que nous concevions notre application afin qu'elle puisse être équilibrée en charge sans compter sur des "sessions persistantes" dans la LB.sessions jsf dans une batterie de serveurs Web

Dans .NET, vous pouvez configurer le magasin de sessions en SQL Server ou en ASP.NET State Service. Quelles sont les alternatives dans le monde Java? Existe-t-il un moyen standard de brancher un magasin d'état de session différent qui pointe vers une base de données MySQL par exemple? Spring fournit-il des crochets?

Répondre

2

Ceci est spécifique à servletcontainer qui dans ce cas est Tomcat. Le servletcontainer est celui qui gère et fournit les sessions. Donc JSF et Spring n'ont rien à faire ici. Ils l'obtiennent juste de manière transparente à partir du servletcontainer par request.getSession() et ainsi de suite.

Dans Tomcat, vous pouvez fournir un custom session manager implementation dans Context de la webapp:

<Context ...> 
    <Manager className="com.example.SessionManager"> 

..where com.example.SessionManager met en œuvre org.apache.catalina.Manager selon son contrat. Vous pouvez y écrire du code pour sauvegarder les sessions par une base de données.

Cependant, il existe des alternatives pour vos besoins particuliers, vous pouvez choisir les fonctions de clustering/de réplication de session intégrées de Tomcat au lieu de les réinventer avec un gestionnaire/base de données custommade. En savoir plus à ce sujet au Tomcat Clustering/Session Replication HOW-TO.

+0

Comme il s'avère que nous n'utilisons que tomcat en développement, le site de production utilise websphere, qui a sa propre implémentation (http://publib.boulder.ibm.com/infocenter/wasinfo/v4r0/index.jsp ? topic =/com.ibm.websphere.v4.doc/wass_content/06061105.html). Mais sachant que c'est spécifique au conteneur est suffisant pour faire des recommandations pour le déploiement. Merci! – roufamatic

+1

De rien. Il peut être utile de savoir que Websphere utilise réellement Tomcat "sous le capot". – BalusC