Invalidation planifiée
Au lieu de s'appuyer sur un temporisateur d'invalidation périodique basé sur le paramètre délai d'expiration de la session, vous pouvez choisir les heures spécifiques auxquelles l'utilitaire de gestion de session devra rechercher les sessions invalidées dans un environnement distribué.
Lorsqu'elle est utilisée avec des sessions réparties, cette fonction présente les avantages suivants :
- Vous pouvez planifier la recherche des sessions invalidées à des heures de faible activité du serveur d'applications, ce qui évite de saturer la base de données ou une autre instance WebSphere Application Server lorsqu'elle est occupée à prendre en charge les demandes de sessions HTTP.
- Lorsque l'option de fréquence d'écriture choisie est Fin de la méthode service, le nombre d'opérations d'écriture dans la base de données peut être réduit de manière significative, car l'heure de dernier accès du serveur n'a pas besoin d'être écrite après chaque demande de session HTTP. (Les options de fréquence d'écriture Mise à jour manuelle et Ecriture périodique minimisent déjà l'écriture de l'heure de dernier accès.)
- Le gestionnaire de sessions invalide des sessions au moment prévu uniquement, elles sont donc disponibles pour une application en cas de demande avant leur annulation. Considérations d'utilisation :
- Lorsque l'invalidation planifiée est configurée, les objets HttpSession arrivés à expiration ne sont pas immédiatement éliminés. En revanche, l'ensemble du traitement d'invalidation est reporté aux heures programmées.
- Le traitement de HttpSessionBindingListener a lieu aux heures d'invalidation configurées, sauf en cas d'appel explicite de la méthode HttpSession.invalidate.
- La méthode HttpSession.invalidate invalide immédiatement la session, aussi bien dans la cache des sessions que dans le magasin externe.
- L'unité d'exécution d'invalidation périodique est toujours planifiée. Si l'heure actuelle ne correspond à aucune des heures configurées, les sessions ayant dépassé l'intervalle d'invalidation sont retirées du cache mais conservées dans le magasin externe. Si une telle session est demandée à nouveau, elle est restaurée dans la cache.
- Quand l'unité d'exécution périodique s'exécute lors de l'une des heures configurées, toutes les sessions ayant dépassé l'intervalle d'invalidation sont invalidées, c'est-à-dire retirées de la cache et du magasin externe.
- L'unité d'exécution d'invalidation périodique peut s'exécuter plusieurs fois par heure et ne s'exécute pas nécessairement à l'heure exacte.
- Si vous définissez l'intervalle de l'unité d'exécution d'invalidation périodique à l'aide de la propriété personnalisée HttpSessionReaperPoll, optez pour une valeur maximale de 3600 secondes (1 heure) afin que l'invalidation se produise au moins une fois par heure.