Wiki source code of Comportement anormal d'une application web Adélia en mode conservation des connexions avec Tomcat et firefox 3.6 ou IE8
Last modified by Julien EYMERY on 2015/07/15 16:06
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | Le problème repose sur 3 éléments : | ||
| 2 | 1. Une même session HTTP est partagée par les différentes instances d'un navigateur (depuis Firefox 3.6, et IE8). | ||
| 3 | 1. Tomcat, par défaut, conserve les sessions HTTP (sérialisation), lors de l'arrêt d'une application web, pour un redémarrage à chaud. | ||
| 4 | 1. La session middleware d'un programme Adélia web en conservation des connexions est stockée sur la session HTTP (mais remise à zéro sur le déchargement de l'application web). | ||
| 5 | |||
| 6 | |||
| 7 | Ces 3 conditions font, que lorsqu'un navigateur reste ouvert, et que l'application web est rechargée puis réutilisée, la session middleware utilisée par cette application est vide et provoque une erreur amenant à une page incomplète. | ||
| 8 | |||
| 9 | Pour pallier ce problème, le plus simple est de modifier le contexte de l'application web (pour éviter que tomcat sérialise les sessions HTTP). | ||
| 10 | |||
| 11 | Editer le fichier de configuration server.xml de la sorte (modifier le contexte de votre application en ajoutant l'élément fils <Manager pathname~="" />): | ||
| 12 | |||
| 13 | Exemple : | ||
| 14 | |||
| 15 | |||
| 16 | {{code language="xml" language="xml"}} | ||
| 17 | <Context path="/monapp" docBase="D:\webapps\monapp"> | ||
| 18 | <Manager pathname="" /> | ||
| 19 | </Context> | ||
| 20 | {{/code}} | ||
| 21 | |||
| 22 | |||
| 23 | |||
| 24 | Puis redémarrer Tomcat | ||
| 25 | |||
| 26 | {{liveData sort="doc.date:desc" source="liveTable" properties="doc.title,doc.date,doc.author" description="Recently updated" limit="5" filters="tag=web middleware" sourceParameters="translationPrefix=platform.index."}}{{/liveData}} | ||
| 27 |