Hi All,
I have a javax.servlet.ServletContextListener. When it initializes, I put
data objects (which implements java.io.Serializable) into the
ServletContext.
public void contextInitialized(ServletContextEvent sce)
{
MyData myData = new MyData();
myData.load();
ServletContext context = sce.getServletContext();
context.setAttribute( "data-key", myData );
}
So with this code, data goes into servletcontext gets populated and
verified. Everything is fine.
Say, there is a change I need to make to MyData.java and I recompiled MyData
and redeployed the MyData.class. Once I have done this, I tried to reload
the previous page I saw just now or any other page. I got this nasty
java.io.NotSerializableException error. My ServetContextListener has log4j
object.
java.io.NotSerializableException: org.apache.log4j.Category
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at java.util.HashMap.writeObject(HashMap.java:812)
at java.lang.reflect.Method.invoke(Native Method)
at
java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java:1864)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1827)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:9
2)
at
weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:6
4)
at
weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletCon
text.java:306)
Does anyone have any clue about this error? Any insightful advices and
thoughts are appreciated.
David
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html