To Cameron --> Well, we've reached to a point where a lot of effort has to be made for such code change. The problem is, nobody had a clear picture of the environment. This was realized when we've started deploying code in clustered environment. We're still not sure that whether the production environment will have session replication on or not. But we don't want to take any chances and want to do whatever is necessary before reaching to that point.
To Tim --> I completely agree with you. Non-serialized classes available in any library must not be used in session, if the deployment env. is clustered. As I mentioned earlier, we only have HtmlDataTableEx objects referenced by UIData, inside managed bean. Developers are using this as it is easier to manage a data table when it is bound with an object in the managed bean.
HtmlDataTableEx is ultimately extending UIComponent available in base JSF impl. and according to this technote
, the base JSF impl. which has serialized components would be considered once that context param is set to true. Make sense but doesn't work in my case. I wanted to know if someone has already tried this and got the expected result. If there is no such solution available, then there is only one way left, the hard way!