My application is built with RichFaces 4.0 Final, Spring WebFlow 2.3.0, and Spring Security 3.0.5.
The session timeout in the application is handled by Spring Security, which basically redirects a request to the login screen after the session is expired.
I have a screen with one h:commanButton, as well as one a4j:commandButton. After the session was expired, a click on h:commandButton redirected the user to the login screen, which worked as expected.
However the problem is with the a4j:commandButton (or other a4j components), where the same screen was still rendered when the a4j:commandButton was pressed after the session was expired. By checking the application logs and the request trails in Firebug, it looks like the AJAX request did get redirected to the login screen. But the GET request to the login screen came back with a blank response.
I also tried to handle the session expiration on the client as documented in the RF 3.3 Develop Guide, and was getting the same result.
I would really appreciate if someone could point out as why the a4j components behave differently from those standard components in the above scenario, or shed some lights on how to handle the session timeout with the a4j compoents in RF 4.0.
Thanks in advance