Я использую omnifaces для обработки исключений времени ожидания ajax.
После настройки в Faces-config:
<factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
</factory>
он работает корректно перенаправляя на страницу входа, настроенную в web.xml.
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/public/index.jsf?expired=true</location>
</error-page>
Но нашел два бага:
1. Перенаправление игнорирует наличие строки запроса (?expired=true).
2. Используя компонент Primefaces p:dialog с modal="true", страница перенаправляется на определенную страницу, но страница остается непригодной для использования, поскольку перенаправление выполнено, но, таким образом, предотвращается рабочий процесс в главном окне приложения.
Омнифейсы 1.6.3 Праймфейсы 3.5
Вы проходили через такую ситуацию?