Другим решением является создание CustomViewHandler, расширяющего ViewHandler.
и переопределить метод restoreView
@Override
public UIViewRoot restoreView(FacesContext facesContext, String viewId) {
/**
* {@link javax.faces.application.ViewExpiredException}. This happens only when we try to logout from timed out pages.
*/
UIViewRoot root = null;
root = parent.restoreView(facesContext, viewId);
if(root == null) {
root = createView(facesContext, viewId);
}
return root;
}
Затем вам нужно добавить его в файл face-config.xml
<view-handler>com.demo.CustomViewHandler</view-handler>
Это помешает вам получить ViewExpiredException