web-dev-qa-db-fra.com

Quel est le délai d'expiration de session par défaut pour un site Web Java EE?

Si je ne spécifie pas les éléments suivants dans mon fichier web.xml:

<session-config>
    <session-timeout>10</session-timeout>
</session-config>

Quel sera le délai d'expiration de ma session par défaut? (J'utilise Tomcat 6.0)

29
karlgrz

Si vous utilisez Tomcat, c'est 30 minutes. Vous pouvez en savoir plus ici .

34
Huuuze

Vous pouvez également définir cela dans le code, pour une session spécifique à l'aide de l'API HttpSessionsetMaxInactiveInterval :

Spécifie le délai, en secondes, entre les demandes des clients avant que le conteneur de servlet invalide cette session. Un temps négatif indique que la session ne doit jamais expirer.

Je mentionne cela au cas où vous verriez des délais d'attente qui ne sont pas de 30 minutes, mais vous n'avez pas spécifié une autre valeur (par exemple, un autre développeur du projet a utilisé cette API).

Un autre élément à noter est que ce délai peut ne pas se déclencher à la seconde exacte à laquelle la session peut expirer. Le serveur Java EE peut avoir un thread d'interrogation qui vérifie les sessions expirées toutes les minutes. Je n'ai pas de référence pour cela, mais j'ai vu ce comportement à l'ère de WebSphere 5.1.

8
Kevin Hakanson

Je suis sûr que cela dépend de votre conteneur. Tomcat est de 30 minutes.

5
JavadocMD

Délai d'expiration de session que nous pouvons spécifier pour ce contexte particulier dans le fichier web.xml comme indiqué ci-dessous l'entrée 60

Le délai d'expiration de session par défaut est de 30 minutes

1
sharath