In this website i need a system that logs the user out after 10 minutes. In
order to login i use a simple procedure of inserting a user "in my case
called Lid" instance, and the logout invalidates the session, additionally,
when the user logs in a timertask within a timer starts, and after 10
minutes invalidates the session. here the code:
MyTask task=null;
private void setCurrent(String key, Object o){
getRequest().getSession().setAttribute(key,o);
}
private <T> T getCurrent(String key){
T value=(T)getRequest().getSession().getAttribute(key);
return value;
}
public void logIn(Lid lid){
setCurrent("lid", lid);
Timer timer=new Timer();
task=new MyTask(getRequest().getSession());
System.out.println(task.toString());
timer.schedule(task,10*60*1000);
}
public void logOut(){
task.cancel();
getRequest().getSession().invalidate();
}
This is the MyTask code:
public class MyTask extends TimerTask{
HttpSession session=null;
public MyTask(HttpSession session){
this.session=session;
}
@Override
public void run() {
session.invalidate();
}
The problem is that when i voluntarily log out, it throws an exception
because it says that the task variable is null, and so it becomes not
possible to call cancel() on the task variable. But i dont get it, after
logging in the variable is instantiated, its not null.
Do you have some advise about this? Thank you
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
Stripes-users mailing list
Stripes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/stripes-users