【发布时间】:2019-08-27 08:01:13
【问题描述】:
我正在尝试借助 GWT 计时器实现会话超时,该计时器将对服务器进行 RPC 调用,以使用 lastaccessedtime 检查会话是否有效或过期。但是每次我进行 RPC 调用时,它都会更新 lastaccessedtime(在我进行 RPC 调用时可以理解),有什么方法可以阻止我的 Timer RPC 调用更新 lastaccessedtime?
编写了一些服务器端逻辑来获取 lastaccessedtime 并尝试找出 session 是否有效
com.google.gwt.user.client.Timer elapsedTimer;
public void onModuleLoad() {
elapsedTimer = new Timer () {
public void run() {
validateSession();
}};
//giving time delay of 1sec to call the batches
elapsedTimer.scheduleRepeating(60000);
}
public void validateSession(){
//Problem code every time i make this call it updates the last accessed time
viewService.validateSessionGWT(new AsyncCallback<ModuleData>() {
@Override
public void onFailure(Throwable e) {
//do something
}
@Override
public void onSuccess(ModuleData data) {
if(data.getSessionExpired()){
//redirect to login page
}
}
});
}
任何想法如何克服这个问题或任何其他想法在 GWT 中实现会话管理
注意:已经经历过这类似于我的方法 https://itsecrets.wordpress.com/2011/07/20/session-timeouts-with-gwt-rpc-calls/
【问题讨论】:
标签: gwt