Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

9.2.2. Configurer la passivation HttpSession dans votre application

Aperçu

La Passivation HttpSession est configurée dans le fichier WEB_INF/jboss-web.xml ou META_INF/jboss-web.xml de votre application.

Exemple 9.3. Exemple de fichier jboss-web.xml

<!DOCTYPE jboss-web PUBLIC
    "-//JBoss//DTD Web Application 5.0//EN"
    "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">

<jboss-web version="6.0"
           xmlns="http://www.jboss.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_6_0.xsd">

   <max-active-sessions>20</max-active-sessions>
   <passivation-config>
      <use-session-passivation>true</use-session-passivation>
      <passivation-min-idle-time>60</passivation-min-idle-time>
      <passivation-max-idle-time>600</passivation-max-idle-time>
   </passivation-config>


</jboss-web>

Éléments de configuration de passivation

<max-active-sessions>
Nombre maximal de sessions actives autorisé. Si le nombre de sessions gérées par le gestionnaire de sessions dépasse cette valeur et que la passivation est activée, ce dépassement sera passivé sur la base du <passivation-min-idle-time> configuré. Ensuite, si le nombre de sessions actives dépasse toujours cette limite, les tentatives de création de nouvelles sessions échoueront. La valeur par défaut de -1 ne définit aucune limite quant au nombre maximal de sessions actives.
<passivation-config>
Cet élément contient le reste des paramètres de configuration de passivation, en tant qu'éléments enfants.

<passivation-config> Eléments enfants

<use-session-passivation>
Si oui ou non la passivation de session doit être utilisée. La valeur par défaut est false.
<passivation-min-idle-time>
La durée minimum, en secondes, pendant laquelle une session doit être inactive avant que le conteneur n'envisage de la passiver de manière à réduire le nombre de sessions actives pour être conforme à la valeur définie par les max-active-sessions. La valeur par défaut -1 empêche les sessions d'être passivée avant que le temps <passivation-max-idle-time> ne se soit écoulé. Les valeurs -1 ou supérieures sont déconseillées si <max-active-sessions> est configuré.
<passivation-max-idle-time>
La durée maximum, en secondes, pendant laquelle une session peut être inactive avant que le conteneur ne tente de la passiver pour économiser de la mémoire. La passivation de ces sessions aura lieu, que le nombre de sessions actives excède <max-active-sessions> ou pas. Cette valeur doit être inférieure à la configuration <session-timeout> dans le fichier web.xml. La valeur par défaut -1 désactive la passivation selon l'inactivité maximum.

Note

Le nombre total de sessions en mémoire comprend les sessions répliquées à partir d'autres nœuds de cluster dont l'accès ne se trouve pas sur ce nœud. Tenez-en compte lors de la configuration de <max-active-sessions>. Le nombre de sessions répliquées à partir d'autres nœuds dépend aussi de savoir si le mode cache REPL ou DIST est désactivé. Dans le mode cache REPL, chaque session est répliquée vers chaque nœud. Dans le mode cache DIST, chaque session n'est répliquée que vers le nombre de nœuds indiqué par le paramètre owners. Voir Section 9.1.2, « Cache de session web  » et Section 9.1.3, « Configurer le cache de session web  » pour plus de renseignements sur la configuration des modes cache de session.
Prenons comme exemple un cluster à huit nœuds, dont chaque nœud gère les requêtes de 100 utilisateurs. Avec le mode cache REPL, chaque nœud peut stocker 800 sessions en mémoire. Avec le mode cache DIST désactivé, et la configuration owners définie par défaut sur 2, chaque nœud stocke 200 sessions en mémoire.