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
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest