ICEpush
  1. ICEpush
  2. PUSH-59

AbstractPushRequestContext bean class causing non-serialiable exception for PushContext

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha3
    • Fix Version/s: 2.0-Alpha3
    • Component/s: Integrations
    • Labels:
      None
    • Environment:
      GF 3

      Description

      A non-serializable exception occurs due to the PushContext property of PushPanel.

        Activity

        Hide
        Philip Breau added a comment -

        [#|2010-03-10T12:10:17.260-0700|SEVERE|glassfishv3.0|org.apache.wicket.util.lang.Objects|_ThreadID=25;_ThreadName=Thread-1;|Error serializing object class org.icepush.samples.icechat.wicket.ChatPage [object=[Page class = org.icepush.samples.icechat.wicket.ChatPage, id = 1, version = 0, ajax = 1]]
        org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: org.icepush.PushContext
        Field hierarchy is:
        1 [class=org.icepush.samples.icechat.wicket.ChatPage, path=1]
        private java.lang.Object org.apache.wicket.MarkupContainer.children [class=[Ljava.lang.Object;]
        private java.lang.String[] javassist.util.proxy.SerializedProxy.interfaces[0][1][2][4] [class=org.icepush.samples.icechat.wicket.ChatPanel, path=1:chatPanel]
        org.icepush.samples.icechat.IPushRequestContext org.icepush.samples.icechat.wicket.PushPanel.pushRequestContext [class=org.icepush.samples.icechat.wicket.PushPanel$WicketPushRequestContextAdapter]
        private org.icepush.PushContext org.icepush.samples.icechat.AbstractPushRequestContext.pushContext [class=org.icepush.PushContext] <----- field that is not serializable
        at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346)
        at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
        at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
        at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
        at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
        at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392)
        at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615)
        at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538)
        at org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:684)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
        at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:129)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
        at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1120)
        at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203)
        at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:840)
        at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332)
        at org.apache.wicket.Session.requestDetached(Session.java:1404)
        at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1176)
        at org.jboss.weld.wicket.WeldRequestCycle.detach(WeldRequestCycle.java:155)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1454)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
        at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
        at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
        at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
        at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
        at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
        at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
        at java.lang.Thread.run(Thread.java:619)
        Caused by: java.io.NotSerializableException: org.icepush.PushContext
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
        ... 37 more

        #]
        Show
        Philip Breau added a comment - [#|2010-03-10T12:10:17.260-0700|SEVERE|glassfishv3.0|org.apache.wicket.util.lang.Objects|_ThreadID=25;_ThreadName=Thread-1;|Error serializing object class org.icepush.samples.icechat.wicket.ChatPage [object= [Page class = org.icepush.samples.icechat.wicket.ChatPage, id = 1, version = 0, ajax = 1] ] org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: org.icepush.PushContext Field hierarchy is: 1 [class=org.icepush.samples.icechat.wicket.ChatPage, path=1] private java.lang.Object org.apache.wicket.MarkupContainer.children [class= [Ljava.lang.Object;] private java.lang.String[] javassist.util.proxy.SerializedProxy.interfaces [0] [1] [2] [4] [class=org.icepush.samples.icechat.wicket.ChatPanel, path=1:chatPanel] org.icepush.samples.icechat.IPushRequestContext org.icepush.samples.icechat.wicket.PushPanel.pushRequestContext [class=org.icepush.samples.icechat.wicket.PushPanel$WicketPushRequestContextAdapter] private org.icepush.PushContext org.icepush.samples.icechat.AbstractPushRequestContext.pushContext [class=org.icepush.PushContext] <----- field that is not serializable at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:346) at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615) at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538) at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615) at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538) at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:392) at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:615) at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:538) at org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:684) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322) at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:129) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322) at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1120) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:203) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:840) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332) at org.apache.wicket.Session.requestDetached(Session.java:1404) at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1176) at org.jboss.weld.wicket.WeldRequestCycle.detach(WeldRequestCycle.java:155) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1454) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:312) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:619) Caused by: java.io.NotSerializableException: org.icepush.PushContext at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121) ... 37 more #]
        Hide
        Brad Kroeger added a comment -

        The Wicket integration should not have this problem, all calls to the Push context are made through PushContext.getInstance.

        The chat integration uses the IPushRequestContext interface in order to plug into the icechat back end and it would appear the reference to this class is causing the problem.

        Show
        Brad Kroeger added a comment - The Wicket integration should not have this problem, all calls to the Push context are made through PushContext.getInstance. The chat integration uses the IPushRequestContext interface in order to plug into the icechat back end and it would appear the reference to this class is causing the problem.
        Hide
        Philip Breau added a comment -

        rev 20922

        Show
        Philip Breau added a comment - rev 20922

          People

          • Assignee:
            Philip Breau
            Reporter:
            Philip Breau
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: