Details
-
Type: Task
-
Status: Closed
-
Priority: Major
-
Resolution: Invalid
-
Affects Version/s: EE-4.1.0.GA
-
Fix Version/s: 4.2
-
Component/s: ACE-Components, MOBI-Components
-
Labels:None
-
Environment:Any
Description
After fixing ICE-11056, it was found that many component classes do not implement java.io.Serializable. It is important for all components to be serializable, not only for the type of issues described in ICE-11056, but for many other situations. This task is for making sure that all component classes implement java.io.Serializable.
Activity
Arturo Zambrano
created issue -
Arturo Zambrano
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Arturo Zambrano [ artzambrano ] |
Arturo Zambrano
made changes -
Fix Version/s | 4.2 [ 12870 ] |
Ken Fyten
made changes -
Assignee | Arturo Zambrano [ artzambrano ] | Judy Guglielmin [ judy.guglielmin ] |
Ken Fyten
made changes -
Summary | Make all component classes serializable | Make all component and related model classes Serializable |
Ken Fyten
made changes -
Assignee | Judy Guglielmin [ judy.guglielmin ] | Mircea Toma [ mircea.toma ] |
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Invalid [ 6 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
The JSF components do not need to be serializable, they are created every time a JSF lifecycle is started. Their state is restored through the JSF restore/store mechanism not Java's object de/serialization. Even if they would be restored through deserialization they would not be setup correctly to run as JSF expects them to.
Now it the case of
ICE-11056the app server container was complaining that the Tooltip is not serializable because one of the beans in showcase keeps a reference to the actual component object (through a component biding). Now the correct solution would have been to get rid of the component binding. If that entails significant changes it would be enough to make the bean field (referencing the component object) transient.