Monday, August 1, 2011

Handling Timeout exception (with MVP Places and Activities) ?

Hi,
how do you handle a time out request in a GWT app ?
Here is a snipped of my web.xml file :
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>

My GWT project is based on MVP Activities and Places.
Whenever the user waits more than 30mn, i want to display a popup and redirect the user to the login page. Here is what i do for
all RPC services :
public void onFailure(Throwable caught) {
...
if (caught instanceof InvocationException) {
                {
                    Window.alert("Time out de session. Veuillez vous reconnecter. 2");
                    Window.open(GWT.getHostPageBaseURL() + "identification.html", "_self", null);
                    return;
                }
...}

It works but several things are annoying :
1) the caught exception should be RequestTimeoutException. But it's not caught, which is why i use InvocationException instead.
How come it's not caught ?
2) how can i handle this exception in a more generic way ? It's a bit stupid to have to catch that exception in all RPC services ...
I read about some AsyncCallbackAdapter class ...
3) Right now i handle RPC services only but of course time out exception occurs everywhere : links, buttons, page refresh ...
I'm using MVP Places and Activities.
Is there a way to catch that exception when the user tries to go to a place ?

Thanks for helping


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment