Icefaces

Seam 2.1 and Icefaces 1.8 issue

Seems mixing seam jsf tags is causing some issues (for me at least).

Icefaces 1.8 SessionRenderer.render from within a @asynchronous Seam 2.1 Pojo is causing ViewExpiredException exceptions under certain conditions, failing the rerender.

12:23:43,465 FATAL [lifecycle] JSF1054: (Phase ID: RESTORE_VIEW 1, View ID: ) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@13af4e5]
12:23:43,469 ERROR [ViewRootStateManagerImpl] Missing ViewRoot in restoreState, ice.session: TOuIKvW0_UB0cjooWt11ig, viewNumber: 11

The culprit seems to be using any s:link calling an action (s:link action=”#{iconHome.done}”). Clicking it breaks any SessionRenderer on that Session in the future. Whenever you trigger the SessionRenderer, It tries to rerender the jsf view with s:link instead of the currently active view, and fails.

For now i’m working around it by using ice:commandLink instead.