Well I have messed with the Engine, Host, Context, and Manager and cannot get this exception to completely go away. The context I am currently working with is:
<Context path="/bidnet" docBase="C:\devel\java\myProject\context" > <Manager pathname="C:\java\jakarta-tomcat-5.0.28\work\Catalina\localhost\myProject\SESSIONS.ser" /> </Context> I originally thought that I needed a Persistent Manager in order to have the sessions reload after a Tomcat restart, but I am pretty sure that I could use the Standard Manager to accomplish this (as I am doing above). This context will throw this exception when Tomcat is restarted and the session is trying to be reloaded. It seems that the session is stored correctly - as I can watch the file change as Tomcat is stopping. It is the same exception as I wrote before. Thoughts? Comments? Suggestions? Thanks again Dustin Daniel Stephens wrote: > > Where is this class com.formos.toolkit.data.IPersis located? Is it in the > WEB-INF/classes directory? or in a JAR? I guess I would want to first make > sure the webapp classloaded loaded it up first. > > > > On 3/1/07, ddigmann <[EMAIL PROTECTED]> wrote: >> >> >> A note before I start: I have found quite a few people out there asking >> about >> this same question but have not found my solution. This might mean I >> have >> trouble with finding the correct search terms or something entirely >> different. >> >> The ultimate issue is that from time to time Tomcat (we are using v >> 5.0.28 >> ) >> throws an exception while starting which we think causes sessions to be >> lost >> for our various users every time we research Tomcat. This is an issue >> since >> we would like the users to not loose data and be required to restart >> whenever we need to restart the system. The exception is as follows: >> >> INFO: Starting Servlet Engine: Apache Tomcat/5.0.28 >> Mar 1, 2007 4:35:23 PM org.apache.catalina.core.StandardHost start >> INFO: XML validation disabled >> Mar 1, 2007 4:35:24 PM org.apache.catalina.session.StandardManager doLoad >> SEVERE: ClassNotFoundException while loading persisted sessions: >> java.lang.ClassNotFoundException: com.formos.toolkit.data.IPersistentDO >> java.lang.ClassNotFoundException: com.formos.toolkit.data.IPersistentDO >> at >> org.apache.catalina.loader.StandardClassLoader.loadClass( >> StandardClassLoader.java:854) >> at >> org.apache.catalina.loader.StandardClassLoader.loadClass( >> StandardClassLoader.java:721) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:646) >> at >> java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1494) >> at >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1457) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693) >> at >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) >> at >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912) >> at >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) >> at >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java >> :339) >> at >> org.apache.catalina.session.StandardSession.readObject( >> StandardSession.java:1342) >> at >> org.apache.catalina.session.StandardSession.readObjectData( >> StandardSession.java:885) >> at >> org.apache.catalina.session.StandardManager.doLoad(StandardManager.java >> :416) >> at >> org.apache.catalina.session.StandardManager.load(StandardManager.java:343) >> at >> org.apache.catalina.session.StandardManager.start(StandardManager.java >> :657) >> at >> org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:499) >> at >> org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java >> :315) >> at >> org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:635) >> at >> org.apache.catalina.startup.ContextConfig.lifecycleEvent( >> ContextConfig.java:216) >> at >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent( >> LifecycleSupport.java:119) >> at >> org.apache.catalina.core.StandardContext.start(StandardContext.java:4290) >> at >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) >> at >> org.apache.catalina.core.StandardHost.start(StandardHost.java:789) >> at >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) >> at >> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) >> at >> org.apache.catalina.core.StandardService.start(StandardService.java:480) >> at >> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) >> at org.apache.catalina.startup.Catalina.start(Catalina.java:556) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java >> :39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:585) >> at >> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287) >> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425) >> Mar 1, 2007 4:35:25 PM org.apache.catalina.session.StandardManager start >> SEVERE: Exception loading sessions from persistent storage >> java.lang.ClassNotFoundException: com.formos.toolkit.data.IPersistentDO >> at >> org.apache.catalina.loader.StandardClassLoader.loadClass( >> StandardClassLoader.java:854) >> at >> org.apache.catalina.loader.StandardClassLoader.loadClass( >> StandardClassLoader.java:721) >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:242) >> at >> java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:646) >> at >> java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1494) >> at >> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1457) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693) >> at >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) >> at >> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912) >> at >> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836) >> at >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713) >> at >> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java >> :339) >> at >> org.apache.catalina.session.StandardSession.readObject( >> StandardSession.java:1342) >> at >> org.apache.catalina.session.StandardSession.readObjectData( >> StandardSession.java:885) >> at >> org.apache.catalina.session.StandardManager.doLoad(StandardManager.java >> :416) >> at >> org.apache.catalina.session.StandardManager.load(StandardManager.java:343) >> at >> org.apache.catalina.session.StandardManager.start(StandardManager.java >> :657) >> at >> org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:499) >> at >> org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java >> :315) >> at >> org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:635) >> at >> org.apache.catalina.startup.ContextConfig.lifecycleEvent( >> ContextConfig.java:216) >> at >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent( >> LifecycleSupport.java:119) >> at >> org.apache.catalina.core.StandardContext.start(StandardContext.java:4290) >> at >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) >> at >> org.apache.catalina.core.StandardHost.start(StandardHost.java:789) >> at >> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) >> at >> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) >> at >> org.apache.catalina.core.StandardService.start(StandardService.java:480) >> at >> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) >> at org.apache.catalina.startup.Catalina.start(Catalina.java:556) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java >> :39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke( >> DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:585) >> at >> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287) >> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425) >> >> I have been given the task to fix this and have come across the magical >> world of <Context> and <Manager> which is where I think the solution >> lies. >> >> Prior to any work on this task our <Context> in server.xml was as >> follows: >> >> <Context path="/thisPath" reloadable="true" >> docBase="C:\devel\java\thisPath\context"/> >> >> This method as I understand it will default to the Standard Manager >> Implementation as described here: >> http://tomcat.apache.org/tomcat-5.0-doc/config/manager.html >> >> This method saves sessions but not in a manner of saving them once Tomcat >> has been restarted. The Persistent Manager Implementation sounds more >> like >> what I need to partake in. So I updated my server.xml to handle such a >> method. It now looks like this in the <Context>: >> >> <Context path="/thisPath" reloadable="true" >> docBase="C:\devel\java\thisPath\context"> >> <Manager >> className="org.apache.catalina.session.PersistentManager" >> saveOnRestart="true"> >> <Store >> className="org.apache.catalina.session.FileStore"/> >> </Manager> >> </Context> >> >> This method should save the sessions in a manner of FileStore (to disk) >> after Tomcat has be restarted. Here is where my current problem is. I >> think the sessions are being written just fine when I stop Tomcat. When >> I >> restart it, the log seems just fine (no unusual messages). Then when I >> start reusing the app for a session that should be saved, I get this >> exception: >> >> INFO: Server startup in 6859 ms >> Mar 1, 2007 4:22:31 PM org.apache.catalina.session.PersistentManagerBase >> swapIn >> SEVERE: Error deserializing Session A9B8C8714E8DC421692B63CA531873AD: >> java.lang.ClassNotFoundException: com.formos.toolkit.data.IPersistentDO >> Mar 1, 2007 4:22:31 PM org.apache.coyote.tomcat5.CoyoteAdapter service >> SEVERE: An exception or error occurred in the container during the >> request >> processing >> java.lang.IllegalStateException: Error deserializing Session >> A9B8C8714E8DC421692B63CA531873AD: java.lang.ClassNotFoundException: >> com.formos.toolkit.data.IPersis >> tentDO >> at >> org.apache.catalina.session.PersistentManagerBase.swapIn( >> PersistentManagerBase.java:805) >> at >> org.apache.catalina.session.PersistentManagerBase.findSession( >> PersistentManagerBase.java:629) >> at >> org.apache.coyote.tomcat5.CoyoteRequest.doGetSession(CoyoteRequest.java >> :2252) >> at >> org.apache.coyote.tomcat5.CoyoteRequest.getSession(CoyoteRequest.java >> :2116) >> at >> org.apache.coyote.tomcat5.CoyoteRequestFacade.getSession( >> CoyoteRequestFacade.java:526) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.getSession( >> AuthenticatorBase.java:692) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.getSession( >> AuthenticatorBase.java:675) >> at >> org.apache.catalina.authenticator.AuthenticatorBase.invoke( >> AuthenticatorBase.java:423) >> at >> org.apache.catalina.core.StandardValveContext.invokeNext( >> StandardValveContext.java:102) >> at >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java >> :520) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java >> :137) >> at >> org.apache.catalina.core.StandardValveContext.invokeNext( >> StandardValveContext.java:104) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java >> :118) >> at >> org.apache.catalina.core.StandardValveContext.invokeNext( >> StandardValveContext.java:102) >> at >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java >> :520) >> at >> org.apache.catalina.core.StandardEngineValve.invoke( >> StandardEngineValve.java:109) >> at >> org.apache.catalina.core.StandardValveContext.invokeNext( >> StandardValveContext.java:104) >> at >> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java >> :520) >> at >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) >> at >> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) >> at >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) >> at >> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection >> (Http11Protocol.java:705) >> at >> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) >> at >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( >> ThreadPool.java:683) >> at java.lang.Thread.run(Thread.java:595) >> >> I was wondering if I was on the right path or just way off. Either way, >> can >> anybody see what I am doing wrong here? I would really appreciate any >> feedback anybody could give me. >> >> Thank you for your time and energy. >> Dustin >> -- >> View this message in context: >> http://www.nabble.com/Tomcat-Persistent-Session-Issues-tf3330946.html#a9262012 >> Sent from the Tomcat - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To start a new topic, e-mail: users@tomcat.apache.org >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- View this message in context: http://www.nabble.com/Tomcat-Persistent-Session-Issues-tf3330946.html#a9584295 Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]