Hi Yoav, Thanks for your help, but I give up. I can't persist a session anymore if my life depended on it :-) I tried putting the distributable element in my application web.xml, in my context xml file in Tomcat (in the conf/Catalina/localhost/appname.xml file, and in the server.xml file, but to no avail. I set it to true, to false, and no matter what I could not create a SESSION.SER file anywhere. I monitored the sessions through the Management console, and it always went back to 0 after a Tomcat start and stop. At least with 5.0.19 I could get my sessions to persist if I didn't serialize any of the objects in the sessions. One other thing I noticed with 5.0.27 is that when you stop and start, the stdXXX log files get deleted automatically, which I guess is a good thing/bad thing depending on your need to see what has transpired over a period of time.
Thanks again for your help! Carey -----Original Message----- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 10, 2004 12:17 PM To: Tomcat Users List Subject: RE: serialized objects invalidating session Hi, >My first question >is is there a configuration parameter I need to set to allow Tomcat to >serialize the sessions in 5.0.27? Tomcat serializes sessions by default, as required by the Servlet Specification. This specific behavior is controlled by the Manager element in your server.xml (this is not the same as the Manager webapp), whose docs are at http://jakarta.apache.org/tomcat/tomcat-5.0-doc/config/manager.html. >... or what may be happening is that >per Jacob's response, there is some other object in the session that >does not implement the Serializable interface, so therefore, the whole >thing is trashed. FYI, my object is simply implementing the Serializable >interface. I am doing nothing else like implementing readObject, >writeObject, etc.. You don't need to implement the custom serialization methods: declaring that you implement Serializable is sufficient. You can test to see if your class is serializable by trying to serialize it outside of Tomcat, it's pretty trivial to do with a ByteArrayOutputStream. Or commons-lang's SerializationUtils. Try setting the distributable flag of your Context to true. Let us know if the behavior changes then. The relevant code is at http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-catalina/catalina/src/s hare/org/apache/catalina/session/StandardSession.java?view=markup, specifically the writeObject method. Non-Serializable attributes are unbound. Yoav Shapira This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
