ICEfaces
  1. ICEfaces
  2. ICE-7694

Inner class of PushRenderer is not serializable

    Details

    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial

      Description

      Under certain conditions I am seeing the following exception:

      Caused by: java.io.NotSerializableException: org.icefaces.application.PushRenderer$2

      To replicate I:

      1) Deploy and run the ACE Showcase
      2) Choose the ace:progressBar > Push example and run the progress bar
      3) Shut down Tomcat and restart it (which should serialize/deserialize the current session)

      It seems that the LongTaskManager class is a window-scoped bean used in the noted example and that it keeps a reference to a PortableRenderer - an anonymous inner class of PushRenderer - and the inner class is not Serializable. This is by design.

      Simply marking the "private PortableRenderer renderer" instance as transient has side effects that break the proper operation of the progress bar.

        Activity

        Deryk Sinotte created issue -
        Deryk Sinotte made changes -
        Field Original Value New Value
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Deryk Sinotte made changes -
        Salesforce Case []
        Affects [Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial]
        Assignee Priority P1
        Hide
        Deryk Sinotte added a comment -

        It's easier to reproduce by running with MyFaces and changing the scope of LongTaskManager to ViewScoped (from Window). That way it attempts to serialize on each request.

        Show
        Deryk Sinotte added a comment - It's easier to reproduce by running with MyFaces and changing the scope of LongTaskManager to ViewScoped (from Window). That way it attempts to serialize on each request.
        Deryk Sinotte made changes -
        Salesforce Case []
        Fix Version/s EE-3.0.0.GA [ 10262 ]
        Fix Version/s 3.0 [ 10241 ]
        Ken Fyten made changes -
        Salesforce Case []
        Assignee Deryk Sinotte [ deryk.sinotte ] Mircea Toma [ mircea.toma ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27405 Thu Jan 26 09:27:11 MST 2012 mircea.toma ICE-7694 Acquire PortableRenderer just before progress bar thread is started.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/compat/progress/LongTaskManager.java
        Hide
        Mircea Toma added a comment -

        Acquire PortableRenderer just before progress bar thread is started. This way there's no need to handle PortableRenderer's serialization/deserialization.

        Show
        Mircea Toma added a comment - Acquire PortableRenderer just before progress bar thread is started. This way there's no need to handle PortableRenderer's serialization/deserialization.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27423 Thu Jan 26 15:48:33 MST 2012 mircea.toma ICE-7694 Specify that the PortableRenderer instances are not serializable.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/application/PushRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27427 Thu Jan 26 17:47:31 MST 2012 ken.fyten ICE-7694 Acquire PortableRenderer just before progress bar thread is started.
        Files Changed
        Commit graph MODIFY /icefaces3/tags/icefaces-3.0.0/icefaces/samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/example/compat/progress/LongTaskManager.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #27432 Thu Jan 26 17:59:05 MST 2012 ken.fyten ICE-7694 Specify that the PortableRenderer instances are not serializable.
        Files Changed
        Commit graph MODIFY /icefaces3/tags/icefaces-3.0.0/icefaces/core/src/main/java/org/icefaces/application/PushRenderer.java
        Ken Fyten made changes -
        Fix Version/s EE-3.0.0.BETA [ 10324 ]
        Fix Version/s 3.0.1 [ 10282 ]
        Fix Version/s EE-3.0.0.GA [ 10262 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P1

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: