Re: conflict with automatic session serialization by tomcat?

From: Twan Kogels (twa..wansoft.com)
Date: Wed Jul 07 2004 - 15:53:22 EDT

  • Next message: Mike Kienenberger: "Re: Database reconnect support? [Oracle 9i]"

    Hello Andrus,

    I'm using cayenne-1.1M7_1 with tomcat 4.0.6 and jbuilder9. I tryed the
    tutorial example "cayenne-web-app" supplied with cayenne and it also has
    the same problem with sessions.ser.

    I suspect that this is a problem with jbuilder because i tryed to deploy my
    webapplication and "cayenne-web-app" example on a normal tomcat server and
    there everything works fine.

    Greetings,
    Twan

    At 21:22 06-7-2004, you wrote:
    >Hi Twan,
    >
    >What version of Cayenne and Tomcat are you using?
    >
    >I just tried a very simple JSP app with the latest Cayenne (I used a
    >CVS HEAD version, though M7_1 should be the same) and vanilla
    >installation of Tomcat 4.1.27, and I don't have any problems. Caching
    >just works. I get no exceptions on startup and I get my session state
    >back as expected.
    >
    >Could you write a test app that reproduces a problem? If so, please
    >submit a bug report and attach such app.
    >
    >Thanks
    >Andrus
    >
    >
    >On Jul 6, 2004, at 2:53 PM, Twan Kogels wrote:
    >
    >>Hello,
    >>
    >>I did find a very dirty solution: Tomcat 4.x doesn't seem to have
    >>functionality to disable restart persistence. But when using:
    >>
    >><Manager className="org.apache.catalina.session.StandardManager"
    >> debug="0"
    >> pathname="">
    >></Manager>
    >>
    >>in server.xml with a empty pathname the restart persistence is
    >>disabled. Not really disabled though, because when tomcat shutdown it
    >>will produce a lot of filenotfound exceptions. This is because a empty
    >>pathname is no valid filename. But the advantage is that sessions.ser
    >>isn't written anymore, so restart persistence is disabled. A bit
    >>crude, but it seems to work.
    >>
    >>A better solution is still welcome ;-)
    >>
    >>Greetings,
    >>Twan
    >>
    >>At 19:44 06-7-2004, you wrote:
    >>>Hello,
    >>>
    >>>I'm currently in the process of getting
    >>>cayenne/struts/velocity/velocitytools to work in jbuilder9. That's a
    >>>lot of work but i almost got it right.
    >>>
    >>>There is one thing i can't figure out:
    >>>Tomcat 4.x is saving (serialize) objects which are in session when
    >>>tomcats shutsdown. The session data is saved into a file named
    >>>"SESSIONS.ser". This file is loaded and session data is recovered
    >>>when tomcats starts again.
    >>>
    >>>There seems to be a conflict with cayenne here. I'm using a
    >>>WebApplicationListener to get the datacontext up and running like
    >>>described here:
    >>><http://www.objectstyle.org/cayenne/userguide/deploy/web- application.html>.
    >>>
    >>>This works fine, but when i shutdown tomcat and restart tomcat a
    >>>exception occurs:
    >>>
    >>>StandardManager[/proj]: Exception loading sessions from persistent
    >>>storage
    >>>java.lang.ExceptionInInitializerError
    >>> at java.io.ObjectStreamClass.hasStaticInitializer(Native
    >>>Method)
    >>> at
    >>>java.io.ObjectStreamClass.computeDefaultSUID(ObjectStreamClass.java: 1513)
    >>> at
    >>>java.io.ObjectStreamClass.access$100(ObjectStreamClass.java:45)
    >>> at java.io.ObjectStreamClass$1.run(ObjectStreamClass.java:169)
    >>> at java.security.AccessController.doPrivileged(Native Method)
    >>>
    >>>This means that the session data saved to disk can't be loaded. After
    >>>this exception occurs very strange things happen, for example cayenne
    >>>can't find the cayenne.xml.
    >>>
    >>>My solution is to delete the "SESSIONS.ser" when tomcat shutsdown,
    >>>but thats a bit dirty.
    >>>
    >>>Does anybody know a solution to this problem? or maybe a way to turn
    >>>off the automatic serialisation of session data by tomcat? (just for
    >>>development purposes ;-)
    >>>
    >>>Cheers,
    >>>Twan Kogels
    >



    This archive was generated by hypermail 2.0.0 : Wed Jul 07 2004 - 15:51:28 EDT