Right, you would have to do it on the Log In page during authentication as 
Martijn suggested.

We have a global Settings page where we let admins configure this duration in 
minutes and we enable it via our Log In page.

To do it for unauthorized users it won't really make sense. Why would you let 
them waste your servers resources and keep your servers busy longer than the 
web.xml descriptor already is configured for? What would be such a real 
use-case?

Have a great day,
    Paul Bors

> On Oct 23, 2013, at 5:41 AM, Martin Grigorov <mgrigo...@apache.org> wrote:
> 
> On Wed, Oct 23, 2013 at 12:35 PM, Martijn Dashorst <
> martijn.dasho...@gmail.com> wrote:
> 
>> AFAIK you can specify the session timeout in your web.xml or in your
>> container. I don't see why Wicket should get involved in that, other
>> than change the session timeout for logged in users (i.e. after they
>> successfully authenticated with your application), or special users
>> (administrators with limited session time, etc). In those cases you
>> already have a bound session, and you can use the previous call. If
>> you want to specify session timeout for all users, then do it in your
>> deployment descriptor.
> 
> Christoph's first message says: Now I want to make the time until the
> application expires *configurable*
> 
> 
>> 
>> http://stackoverflow.com/questions/15382895/session-timeout-in-web-xml
>> 
>> Martijn
>> 
>> On Wed, Oct 23, 2013 at 7:23 AM, Martin Grigorov <mgrigo...@apache.org>
>> wrote:
>>> On Wed, Oct 23, 2013 at 2:36 AM, Joachim Schrod <jsch...@acm.org> wrote:
>>> 
>>>>> On 10/22/13 15:32, Martin Grigorov wrote:
>>>>> On Tue, Oct 22, 2013 at 4:27 PM, Joachim Schrod <jsch...@acm.org>
>> wrote:
>>>>> 
>>>>>>> On 10/22/13 10:34, christoph.ma...@t-systems.com wrote:
>>>>>>> If I do this in my WicketApplication class, in the init()
>>>>>>> method I get java.lang.reflect.UndeclaredThrowableException.
>>>>>>> But if I add this to my base page it works. Is there any
>>>>>>> possibility to do this in the WicketApplication class?
>>>>>> 
>>>>>> You have to redefine WebApplication#newSession().
>>>>>> 
>>>>>> It can't be done in init(), as no session exists yet. And you must
>>>>>> set the Session timeout for each new session anew.
>>>>>> 
>>>>>> Without having tried it, code like
>>>>>> 
>>>>>>    @Override
>>>>>>    public Session newSession(Request request, Response response) {
>>>>>>        Session session = super.newSession(request, response);
>> ((ServletWebRequest)request).getContainerRequest().getSession().setMaxInactiveInterval(TIMEOUT);
>>>>> 
>>>>> ALARM!
>>>>> getSession() is the same as getSession(true). I.e. it will create a
>> new
>>>>> http session for each and every http request, even for static
>> resources.
>>>>> 
>>>>> Wicket creates Wicket Session when Session.get() is used, but creates
>>>> Http
>>>>> Session only when wicketSession.bind() is called.
>>>> 
>>>> Interesting to hear; I'd have thought that works. Tricky thing,
>>>> that. As I wrote, I didn't try the code; I just copied the access
>>>> to HttpSession from the posts below.
>>>> 
>>>> But, since wicketSession.bind() is final, one cannot subclass
>>>> Session and redefine it either, to set the timeout there. (Much too
>>>> many methods of Wicket classes are final, without really good
>>>> reason; I copy them to my applications making the methods non-final
>>>> much too often. :-( )
>>> 
>>> If you override bind() and do something wrong then the functionality will
>>> break completely.
>>> 
>>> 
>>>> 
>>>> Martin, what would you propose to be the hook that allows to
>>>> establish a different session timeout application-wide within your
>>>> Java application? I hadn't had yet that case, web.xml suffices by
>>>> now, but it would be good to know for the future.
>>> 
>>> It is much better from framework point of view to give you a hook:
>> org.apache.wicket.session.ISessionStore#getBindListeners().add(myListener)
>>> 
>>> 
>>>> 
>>>> Cheers,
>>>>        Joachim
>>>> 
>>>>>>        return session;
>>>>>>    }
>>>>>> 
>>>>>> should work. Maybe check that request is really a
>>>>>> ServletWebRequest. (This is also a good place to set the locale.)
>>>>>> 
>>>>>> HTH,
>>>>>>        Joachim
>>>>>> 
>>>>>>> 
>>>>>>> -----Ursprüngliche Nachricht-----
>>>>>>> Von: francois meillet [mailto:francois.meil...@gmail.com]
>>>>>>> Gesendet: Montag, 21. Oktober 2013 16:34
>>>>>>> An: users@wicket.apache.org
>>>>>>> Betreff: Re: set session-timeout
>>>>>>> 
>>>>>>> HttpSession httpSession = ((ServletWebRequest)
>>>>>> RequestCycle.get().getRequest()).getContainerRequest().getSession();
>>>>>>> httpSession.setMaxInactiveInterval(timeOut);
>>>>>>> 
>>>>>>> François
>>>>>>> 
>>>>>>> 
>>>>>>> On Mon, Oct 21, 2013 at 4:12 PM, Martin Grigorov <
>>>> mgrigo...@apache.org
>>>>>>> wrote:
>>>>>>> 
>>>> http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.6/a
>>>>>>>> pi/javax/servlet/http/HttpSession.html#setMaxInactiveInterval(int)
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Mon, Oct 21, 2013 at 4:44 PM, <christoph.ma...@t-systems.com>
>>>> wrote:
>>>>>>>> 
>>>>>>>>> Hello,
>>>>>>>>> 
>>>>>>>>> in my application i have set the errorpage for expired pages
>> like
>>>>>> this:
>>>>>>>>> 
>>>>>>>>> getApplicationSettings().setPageExpiredErrorPage(Timeout.class);
>>>>>>>>> 
>>>>>>>>> Now I want to make the time until the application expires
>>>>>> configurable.
>>>>>>>>> How can I do this? Can I set this in the
>> WicketApplication.init()?
>>>> --
>>>> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>>>> Joachim Schrod, Roedermark, Germany
>>>> Email: jsch...@acm.org
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>> 
>> 
>> 
>> --
>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>> 
>> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to