Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0
-
Fix Version/s: EE-3.0.0.BETA, 3.0.1
-
Component/s: Documentation, Framework, ICE-Components, Sample Apps
-
Labels:None
-
Environment:ICEfaces 3 ICEpush
-
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.
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
Field | Original Value | New Value |
---|---|---|
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Salesforce Case | [] | |
Affects | [Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial] | |
Assignee Priority | P1 |
Salesforce Case | [] | |
Fix Version/s | EE-3.0.0.GA [ 10262 ] | |
Fix Version/s | 3.0 [ 10241 ] |
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 | |
Files Changed | ||||
![]() |
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 | |
Files Changed | ||||
![]() |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #27427 | Thu Jan 26 17:47:31 MST 2012 | ken.fyten | |
Files Changed | ||||
![]() |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #27432 | Thu Jan 26 17:59:05 MST 2012 | ken.fyten | |
Files Changed | ||||
![]() |
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 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P1 |
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.