What about timing out the session on the server? Assuming that you're using a Java application container on the server, you can add the following to web.xml: <session-config> <session-timeout>5</session-timeout> </session-config>
This will cause the server to time out connections after five minutes of inactivity. With this technique, it's actually possible to intercept requests made after a time out in the onFailure() handler and to take some kind of action (i.e., redirect to a login screen). Tony -- Tony Strauss Designing Patterns, LLC http://www.designingpatterns.com http://blogs.designingpatterns.com On Jun 2, 11:05 am, hezjing <hezj...@gmail.com> wrote: > Hi > > I want the session to be expired if the it is idle for 5 minutes. > > I have the following client code after a successful login: > > String sessionID = /* (Get sessionID from server's response to login > request.) */ ; > long DURATION = 1000 * 60 * 5; > Date expires = new Date(System.currentTimeMillis() + DURATION); > // the sid cookie will be expired after 5 min > Cookies.setCookie("sid", sessionID, expires, null, "/", false); > > The problem with the above code is that the session cookie will be expired 5 > minutes from the time the session is created and not from the time the last > request to the server. > For example, if a session is created at 00:00, followed by a request at > 00:04, the cookie will still expire at 00:05 instead of 00:09. > > To do this, I have to reset the expiry time of the cookie in every RPC call > like the following: > > public void onFailure(Throwable caught) { > ... > // re-calculate the expiry time > Date expires = new Date(System.currentTimeMillis() + DURATION) > Cookies.setCookie("sid", sessionID, expires, null, "/", false); > > } > > public void onSuccess(...) { > ... > // re-calculate the expiry time > Date expires = new Date(System.currentTimeMillis() + DURATION) > Cookies.setCookie("sid", sessionID, expires, null, "/", false); > > } > > May I know if there a more elegant way of doing this? > > -- > > Hez --~--~---------~--~----~------------~-------~--~----~ 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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---