On 04/04/2011 11:39 AM, Keith Fetterman wrote: > I am wondering if this problem is related to the HTTP session timing > out. In the ROOT web application, we have the session time out set to > 70 minutes: > > WEB-INF/web.xml
Possibly. I've filed it as a bug. The Java deserializer requires a classloader handler for proper deserialization. It's possible that it's not properly handled in some contexts. -- Scott >> <session-config> >> <session-timeout>70</session-timeout> >> </session-config> > I received another ClassNotFoundException from the > EnvironmentClassLoader after 30 minutes, which is the default session > timeout for most Web apps. > > > On 04/04/2011 11:19 AM, Keith Fetterman wrote: >> This problem seems to be more pervasive in Resin 4.0.16 pro. I am now >> seeing other application classes that the Resin EnvironmentClassLoader >> is trying to load but it can't find them. I am getting the error >> "java.lang.ClassNotFoundException" because the >> "EnvironmentClassLoader[resin-system:]" is trying to load it. In our >> resin.xml file, I have the application classes being loaded at at the >> Host level. >> >> Resin was started at 9:55 AM this morning. Since then, I have been >> testing our Website including checking out, which would require >> "com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm" >> class to be loaded. Then at 10:37 AM, resin throws the error: >> >>> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING >>> com.caucho.server.session.SessionImpl >>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: >>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm >>> in EnvironmentClassLoader[resin-system:] >> It looks like the error is occurring when resin is either serializing or >> deserializing the session. Is the EnvironmentClassLoader above the host >> class loader and if so, why is trying to load application classes? Is >> this a bug in resin 4.0.16? >> >> >>> [11-04-04 10:37:46.336] {http://*:8082-23} WARNING >>> com.caucho.server.session.SessionImpl >>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: >>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm >>> in EnvironmentClassLoader[resin-system:] >>> at >>> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64) >>> at >>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706) >>> at >>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642) >>> at >>> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332) >>> at >>> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255) >>> at >>> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198) >>> at >>> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613) >>> at >>> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961) >>> at >>> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725) >>> at >>> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268) >>> at >>> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813) >>> at >>> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) >>> at >>> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) >>> at >>> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) >>> at >>> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) >>> at >>> com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) >>> at >>> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) >>> at >>> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) >>> at >>> com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) >>> at >>> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) >>> at >>> com.caucho.env.thread.ResinThread.run(ResinThread.java:130) >>> Caused by: >>> java.lang.ClassNotFoundException: >>> com.marinersupply.common.store.struts.form.checkout.CheckoutCustomerInfoForm >>> in EnvironmentClassLoader[resin-system:] >>> at >>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1382) >>> at >>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358) >>> at >>> java.lang.Class.forName0(Native Method) >>> at >>> java.lang.Class.forName(Class.java:247) >>> at >>> com.caucho.server.session.JavaSessionDeserializer$ContextObjectInputStream.resolveClass(JavaSessionDeserializer.java:105) >>> at >>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) >>> at >>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) >>> at >>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) >>> at >>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) >>> at >>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) >>> at >>> com.caucho.server.session.JavaSessionDeserializer.readObject(JavaSessionDeserializer.java:70) >>> at >>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:686) >>> ... 19 more >>> >> >> >> >> On 03/30/2011 05:49 PM, Keith Fetterman wrote: >>> Today, I discovered when I stopped and then started resin (4.0.16), I >>> received a "java.lang.ClassNotFoundException" exception being thrown by >>> the "com.caucho.loader.DynamicClassLoader.loadClass" when I accessed the >>> home page of my Web site. The ClassNotFoundException is caused by resin >>> trying to load one of our application classes that was stored in the >>> HTTP session and was persisted. We have our application classes being >>> loaded at the host level class loader. Why is resin trying to load the >>> class via the EnvironmentClassLoader? Is this a bug in resin 4.0.16? >>> >>> We switched from using hessian to java serialization because hessian >>> serialization was trying to lazy load our hibernate objects that were in >>> the HTTP session. I don't know if this makes a difference. >>> >>> Please help if you can. >>> >>> The stack trace is below. >>> >>>> [11-03-30 17:06:10.723] {http://*:8082-16} WARNING >>>> com.caucho.server.session.SessionImpl >>>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: >>>> com.marinersupply.bean.CustomerBean in >>>> EnvironmentClassLoader[resin-system:] >>>> at >>>> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64) >>>> at >>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706) >>>> at >>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642) >>>> at >>>> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332) >>>> at >>>> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255) >>>> at >>>> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198) >>>> at >>>> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613) >>>> at >>>> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961) >>>> at >>>> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725) >>>> at >>>> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268) >>>> at >>>> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) >>>> at >>>> com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104) >>>> at >>>> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) >>>> at >>>> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) >>>> at >>>> com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67) >>>> at >>>> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) >>>> at >>>> com.caucho.env.thread.ResinThread.run(ResinThread.java:130) >>>> Caused by: >>>> java.lang.ClassNotFoundException: com.marinersupply.bean.CustomerBean >>>> in EnvironmentClassLoader[resin-system:] >>>> at >>>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1382) >>>> at >>>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358) >>>> at >>>> java.lang.Class.forName0(Native Method) >>>> at >>>> java.lang.Class.forName(Class.java:247) >>>> at >>>> com.caucho.server.session.JavaSessionDeserializer$ContextObjectInputStream.resolveClass(JavaSessionDeserializer.java:105) >>>> at >>>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) >>>> at >>>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) >>>> at >>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) >>>> at >>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) >>>> at >>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) >>>> at >>>> com.caucho.server.session.JavaSessionDeserializer.readObject(JavaSessionDeserializer.java:70) >>>> at >>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:686) >>>> ... 19 more >>>> >>>> [11-03-30 17:06:10.741] {http://*:8082-15} WARNING >>>> com.caucho.server.session.SessionImpl >>>> com.caucho.vfs.IOExceptionWrapper: java.lang.ClassNotFoundException: >>>> com.marinersupply.bean.CustomerBean in >>>> EnvironmentClassLoader[resin-system:] >>>> at >>>> com.caucho.vfs.IOExceptionWrapper.create(IOExceptionWrapper.java:64) >>>> at >>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:706) >>>> at >>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:642) >>>> at >>>> com.caucho.server.session.SessionManager.createSession(SessionManager.java:1332) >>>> at >>>> com.caucho.server.http.AbstractCauchoRequest.createSession(AbstractCauchoRequest.java:255) >>>> at >>>> com.caucho.server.http.AbstractCauchoRequest.getSession(AbstractCauchoRequest.java:198) >>>> at >>>> com.caucho.server.http.AbstractCauchoRequest.finishRequest(AbstractCauchoRequest.java:613) >>>> at >>>> com.caucho.server.http.HttpServletRequestImpl.finishRequest(HttpServletRequestImpl.java:1961) >>>> at >>>> com.caucho.server.http.AbstractHttpRequest.finishRequest(AbstractHttpRequest.java:1725) >>>> at >>>> com.caucho.server.http.HttpRequest.finishRequest(HttpRequest.java:1268) >>>> at >>>> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:813) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669) >>>> at >>>> com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617) >>>> at >>>> com.caucho.network.listen.KeepaliveRequestTask.doTask(KeepaliveRequestTask.java:73) >>>> at >>>> com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98) >>>> at >>>> com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81) >>>> at >>>> com.caucho.network.listen.KeepaliveRequestTask.run(KeepaliveRequestTask.java:60) >>>> at >>>> com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) >>>> at >>>> com.caucho.env.thread.ResinThread.run(ResinThread.java:130) >>>> Caused by: >>>> java.lang.ClassNotFoundException: com.marinersupply.bean.CustomerBean >>>> in EnvironmentClassLoader[resin-system:] >>>> at >>>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1382) >>>> at >>>> com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1358) >>>> at >>>> java.lang.Class.forName0(Native Method) >>>> at >>>> java.lang.Class.forName(Class.java:247) >>>> at >>>> com.caucho.server.session.JavaSessionDeserializer$ContextObjectInputStream.resolveClass(JavaSessionDeserializer.java:105) >>>> at >>>> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574) >>>> at >>>> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) >>>> at >>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) >>>> at >>>> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) >>>> at >>>> java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) >>>> at >>>> com.caucho.server.session.JavaSessionDeserializer.readObject(JavaSessionDeserializer.java:70) >>>> at >>>> com.caucho.server.session.SessionImpl.load(SessionImpl.java:686) >>>> ... 19 more >>>> _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest