luehe 2005/03/23 14:44:14
Modified: catalina/src/share/org/apache/catalina/session
LocalStrings.properties LocalStrings_es.properties
LocalStrings_fr.properties
LocalStrings_ja.properties StandardSession.java
Log:
Fixed getId() so that it throws IllegalStateException when called on an
invalidated session, in order to be compliant with item 2
("Fix typos in HttpSession.java") of the Servlet 2.4 Errata at
http://jcp.org/aboutJava/communityprocess/maintenance/jsr154/errata204.txt
All Servlet TCKs still passing.
I found the problems explaining the tester failures:
- The session listener calls getId in valueUnbound (the session is invalidated, if course)
- On loading persisted session, getId is called which can fail randomly (doh)
Then, getId is called countless times inside Tomcat. We would have to introduce a getIdInternal method, which wouldn't have the isValid check. Then there will likely be countless application compatibility issues, since, inside a valueUnbound call, a (often needed) call to getId might randomly fail.
This really sucks :(
This is a very bad move by the specification team, and, unfortunately, I have to veto the change at least for this release. Can you revert it until Yoav tags 5.5.9, and maybe reapply it after that ?
Rémy
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]