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
> <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
>>>
--
-----------------------------------------------------------------
Keith Fetterman Direct: 206-319-9434
Mariner Supply, Inc. 206-780-5670
http://www.go2marine.com [email protected]
http://www.boatersline.com
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest