qu'est-ce qu'un Cookie.setMaxAge(Integer.MAX_VALUE)?

setMaxAge est censé contrôler l'âge maximum d'un cookie, donc si mon intention est littéralement définir l'âge maximal possible, la logique serait de faire:

cookie.setMaxAge(Integer.MAX_VALUE);

Toutefois, cela n'entraîne aucune Expires cookie dans l'en-tête HTTP à tous, je suis un essai sur une WebSphere 7. Régler sur 1 an (mesuré en secondes) fonctionne très bien.

Pourquoi cela se produit-il?

PS
Je viens de tester sur Tomcat7 - Entier.MAX_VALUE résultats dans Max-Age=2147483647; Expires=Wed, 06-Mar-2080 21:30:32 GMT, donc ça doit être quelque chose de mal avec WebSphere.

javaworld.com/community/node/3673
Oui, c'est mon article. Mais il n'y a rien d'Entier.MAX_VALUE.
Test rapide, a travaillé comme vous vous attendiez sur WebSphere 6.1. Je n'ai pas de WebSphere 7 environnement de test. Avez-vous testé d'autres valeurs d'expiration?
J'ai juste couru un test rapide sur A 7 et a constaté la même chose que vous avez fait. Les Cookies avec d'autres max âges sont créés comme prévu, mais pas pour des biscuits avec l'âge maximum fixé à l'Entier.MAX_VALUE ou d'autres grandes valeurs. (J'ai essayé un peu arbitraire de grandes valeurs - 1500000000 travaillé mais 2000000000 n'a pas.)
Donc, ce doit être un bug en A 7. Quelqu'un veut le rapport d'IBM? sera heureux d'accepter une réponse qui dit APAR est produite.

OriginalL'auteur Oleg Mikheev | 2012-02-17