opensubscriber
   Find in this group all groups
 
Unknown more information…

t : tomcat-user@jakarta.apache.org 5 November 2004 • 11:07PM -0500

RE: sessionS info persistence when restart Tomcat
by Ben Souther

REPLY TO AUTHOR
 
REPLY TO GROUP




On Fri, 2004-11-05 at 09:06, Steve Kirk wrote:
> > SessionDestroyed shouldn't be called when tomcat shuts down.
>
> good point.  doh!  but if I've understood correctly, shouldn't other methods
> of my SessionLogger be called?  namely sessionWillPassivate,
> contextDestroyed (and possibly finalize although I'm not 100% confident of
> that).
contextDestroyed does get called when you shut down tomcat. I don't know
about sessionWillPassivate.

>
> > I just tested with a
> > clean install of 5.0.29 with a similar listener to the one
> > you describe.
> > SessionDestroyed was not called when I stopped TC but the
> > sessions were
> > still valid when I started it up.  I can give you the war file if you
> > like.
>
> yes please.  email it to me off list if you prefer.

You can grab it here:
http://www.souther.us/sessionTest.war

I ran it in a clean install of TC5.0.29.
There are two jsps and a sessionListener.
test.jsp shows you the current sessionID.
kill.jsp invalidates the session.
The session listener prints to stdout (catalina.out)
when a session is created or destroyed.

I was able to stop and restart TC and maintain the same session.
sessionDestroyed was not called.

You could easily add to it to test for sessionWillPassivate().





>
> > Do all of the attributes that you're adding to your session implement
> > Serializable?
>
> I did spot that issue late on just before my last post.  So I checked and
> only one object is ever stored in the session - a "User" class of my own.
> Its fields are all of type String, java.sql.Timestamp or int.  I added
> "implements Serializable" to it (I think this is all that was required?) but
> this made no difference.  Also, I have tried stopping TC when a session has
> been created but *no* attributes have been added to it, and the problem is
> the same.
>
> In any case though, if serialisation was the problem, shouldn't I see some
> kind of error message from TC along the lines that it cannot serialise an
> object in a session?  Also I can't work out why it only complains that it
> can't find SESSIONS.ser when it reloads the webapp?
>
If your object (or any of the objects contained within it) are not
serializable) tomcat will quietly not save it.

try creating a real simple object that implements Serializable and see
if it survives a restart.

-Ben




---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jaka...
For additional commands, e-mail: tomcat-user-help@jaka...

Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.