Thats not how sessions are created. Anytime you open a new browser or new
tab in some browsers a new session will be created. Any time a user
voluntarily logs out, his session ends. You really should just use whats
available, session timeout is meant to handle this. This sounds a lot like
premature optimization if you are worried about people on the same pc having
multiple sessions.

Not to mention web containers don't like you starting timer threads that
arent managed by the container.

On Sat, Oct 1, 2011 at 7:07 PM, Enrico Iorio <[email protected]>wrote:

> It would not be efficient, immagin you log in, you stay 2 minutes and then
> voluntarily log out, after 3 minutes another user comes in "on same pc" and
> logs in, after 5 minutes the new user is logged out because of the 10
> minutes in the <session-timeout>
>
> 2011/10/2 Anthony DePalma <[email protected]>
>
>> Why don't you just set the<*session*-*timeout*>30</*session*-*timeout*>
>> value in webxml to 10 minutes?
>>
>> On Sat, Oct 1, 2011 at 6:48 PM, Enrico Iorio <[email protected]>wrote:
>>
>>>  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
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/stripes-users
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> 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
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/stripes-users
>>
>>
>
>
> --
> *Enrico Iorio*
>
>
>
> ------------------------------------------------------------------------------
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-users
>
>
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to