RE: WebSession shutdown

2007-09-20 Thread Maeder Thomas
Thanks Eelco, but...

The trouble is that the lifecycle of a Wicket WebSession object is not the same 
as the HTTPSession. When a session is temporary only, you never get a 
valueUnbound() callback. I'll have to move the resource manager initialization 
into the valueBound() method; inconvenient but not a problem per se.
My second objection is that this works, as you said, with the default 
implmentation of ISessionStore. I would introduce a dependency on the exact 
implementation of ISessionStore used, not any published API. That somehow fills 
me with sombre premonitions ;-)
I still think it would be nice if org.apache.wicket.Session had a proper 
lifecycle (à la WebApplication.onDestroy()). Should I file a feature request or 
start a conversation on the dev list?

Thomas

 -Original Message-
 From: Eelco Hillenius [mailto:[EMAIL PROTECTED] 
 Sent: Donnerstag, 20. September 2007 02:39
 To: users@wicket.apache.org
 Subject: Re: WebSession shutdown
 
  In our WebSession subclass we manage some resources which 
 need to be 
  cleaned up when the session goes away (because of timeout, etc). Is 
  there a recommended way to call a shutdown() method on 
 our session 
  class? I have seen WebApplication.sessionDestroyed(String), but I'm 
  not sure how to get the wicket session from there (since we don't 
  necessarily have an active request at that time). Of 
 course, I could 
  implement my own session store or something like that, but that 
  approach seems to be a bit hackish.
 
 As long as you are putting the Wicket Session object in your 
 HttpSession (like the default session stores do) I think you 
 should be able to just let your session class inplement 
 HttpSessionBindingListener and react on valueUnbound. Can you 
 try that and let the list know whether that worked for you?
 
 Eelco
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: WebSession shutdown

2007-09-20 Thread Eelco Hillenius
 The trouble is that the lifecycle of a Wicket WebSession object is not the 
 same as the HTTPSession. When a session is temporary only, you never get a 
 valueUnbound() callback. I'll have to move the resource manager 
 initialization into the valueBound() method; inconvenient but not a problem 
 per se.

Ah yeah, but temporary sessions are volatile anyway. You could
implement a custom request cycle that in onEndRequest checks whether
the session is temporary, and if so, let it call the cleanup method.

 My second objection is that this works, as you said, with the default 
 implmentation of ISessionStore. I would introduce a dependency on the exact 
 implementation of ISessionStore used, not any published API. That somehow 
 fills me with sombre premonitions ;-)
 I still think it would be nice if org.apache.wicket.Session had a proper 
 lifecycle (à la WebApplication.onDestroy()). Should I file a feature request 
 or start a conversation on the dev list?

Sure, you can start a discussion on the dev list, and filing a JIRA
issue makes that it will be a more persistent discussion topic. Having
it here is fine too though.

I'm not sure whether depending on the Session object being put in the
HttpSession is bad for you though. If you are not using that, it
probably means you're working with a custom session store in which
case you could just make sure your cleanup callback gets called by
that, right?

Eelco

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



WebSession shutdown

2007-09-19 Thread Maeder Thomas
Hi folks,

In our WebSession subclass we manage some resources which need to be
cleaned up when the session goes away (because of timeout, etc). Is
there a recommended way to call a shutdown() method on our session
class? I have seen WebApplication.sessionDestroyed(String), but I'm not
sure how to get the wicket session from there (since we don't
necessarily have an active request at that time). Of course, I could
implement my own session store or something like that, but that approach
seems to be a bit hackish.

Thomas

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: WebSession shutdown

2007-09-19 Thread Eelco Hillenius
 In our WebSession subclass we manage some resources which need to be
 cleaned up when the session goes away (because of timeout, etc). Is
 there a recommended way to call a shutdown() method on our session
 class? I have seen WebApplication.sessionDestroyed(String), but I'm not
 sure how to get the wicket session from there (since we don't
 necessarily have an active request at that time). Of course, I could
 implement my own session store or something like that, but that approach
 seems to be a bit hackish.

As long as you are putting the Wicket Session object in your
HttpSession (like the default session stores do) I think you should be
able to just let your session class inplement
HttpSessionBindingListener and react on valueUnbound. Can you try that
and let the list know whether that worked for you?

Eelco

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]