1 Reply Latest reply on Mar 9, 2005 2:35 PM by eric1

    NotSerializableException on ApplicationContextFacade

    eric1

      I have set up JBoss clustering in JBoss 3.2.6 by using the -all configuration. However, I am getting a NotSerializableException on the ApplicationContextFacade. I have done debugging and found it to be when I am doing a session.getAttribute("something"), which seems to be very odd. I have looked at all the objects that I am setting in the session and they all are serializable, so I don't think it is my code. Clustering doesn't seem to be working as I have a local director and when I make the server I am on unavailable, it puts me to the other server, but I don't seem to have my session information.
      Any help would be appreciated, I looked through all the forums and didn't see anything about this.

      Here is the error:

      18:00:47,288 INFO [STDOUT] java.io.NotSerializableException: org.apache.catalina.core.ApplicationContextFacade

      18:00:47,288 INFO [STDOUT] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)

      18:00:47,288 INFO [STDOUT] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)

      18:00:47,288 INFO [STDOUT] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)

      18:00:47,288 INFO [STDOUT] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)

      18:00:47,358 INFO [STDOUT] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)

      18:00:47,358 INFO [STDOUT] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)

      18:00:47,358 INFO [STDOUT] at java.util.HashMap.writeObject(HashMap.java:978)

      18:00:47,358 INFO [STDOUT] at sun.reflect.GeneratedMethodAccessor646.invoke(Unknown Source)

      18:00:47,358 INFO [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      18:00:47,358 INFO [STDOUT] at java.lang.reflect.Method.invoke(Method.java:324)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)

      18:00:47,368 INFO [STDOUT] at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)

      18:00:47,368 INFO [STDOUT] at org.jboss.invocation.MarshalledValue.(MarshalledValue.java:57)

      18:00:47,378 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheService.getMarshalledValue(JBossCacheService.java:434)

      18:00:47,378 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheService.putSession(JBossCacheService.java:96)

      18:00:47,378 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.SessionBasedClusteredSession.processSessionRepl(SessionBasedClusteredSession.java:149)

      18:00:47,378 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:389)

      18:00:47,388 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.JBossCacheManager.storeSession(JBossCacheManager.java:214)

      18:00:47,388 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:37)

      18:00:47,388 INFO [STDOUT] at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:91)

      18:00:47,388 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

      18:00:47,388 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

      18:00:47,398 INFO [STDOUT] at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

      18:00:47,398 INFO [STDOUT] at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

      18:00:47,408 INFO [STDOUT] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

      18:00:47,408 INFO [STDOUT] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

      18:00:47,408 INFO [STDOUT] at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

      18:00:47,408 INFO [STDOUT] at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

      18:00:47,408 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534)

        • 1. Re: NotSerializableException on ApplicationContextFacade
          eric1

          I figured it out finally. Turns out one of the objects I was putting in the session had a reference to the ServletContext inside of it. So, that was causing the problem. I removed that reference to the ServletContext and everything is working great now.

          Hope this helps someone in the future.

          Thanks.