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

Reply via email to