Tomcat (version 5 ici) stocke les informations de session en mémoire. Lors de la mise en cluster, ces informations sont régulièrement diffusées sur d'autres serveurs du cluster pour que les données restent synchronisées. Vous pouvez utiliser un magasin de base de données pour rendre les sessions permanentes, mais ces informations sont uniquement écrites périodiquement et ne sont réellement utilisées que pour la reprise après incident plutôt que pour le remplacement réel des sessions en mémoire.Existe-t-il un moyen de spécifier un magasin de sessions différent avec Tomcat?
Si vous ne souhaitez pas utiliser de sessions persistantes (notre configuration ne le permet malheureusement pas), cela pose un problème de désynchronisation des sessions. Dans d'autres langues, les frameworks Web ont tendance à vous permettre d'utiliser une base de données en tant que magasin de session principal. Alors que cela introduit un problème de mise à l'échelle potentielle, cela rend la gestion de session très simple. Je me demande s'il existe un moyen de faire en sorte que tomcat utilise une base de données pour les sessions de cette manière (techniquement, cela supprimerait également le besoin d'une configuration de clustering dans le serveur tomcat.xml).
Si vous n'utilisez pas de sessions persistantes, vous enfreignez l'une des exigences de la spécification de servlet: les requêtes pour la même session sont traitées à partir de la même JVM. Tomcat rend cela très dur. Vous allez probablement vous perdre - mettre à jour des problèmes avec la conservation des sessions dans une base de données. – davidsheldon