be aware that keeping references to http session attributes is not always a
good thing
especially in clustering or restarts of a server  (with a nice shutdown, so
sessions are saved to disk, then you loose your map)

johan

On Wed, Apr 16, 2008 at 8:45 PM, Nino Saturnino Martinez Vazquez Wael <
[EMAIL PROTECTED]> wrote:

> heres what I ended up with, in application:
>
>   private HashMap<String, Session> sessionMap = new HashMap<String,
> Session>();
>
>   @Override
>   protected ISessionStore newSessionStore() {
>       return new SecondLevelCacheSessionStore(this, new DiskPageStore()) {
>           @Override
>           protected void onBind(Request request, Session newSession) {
>
>               sessionMap.put(newSession.getId(), newSession);
>               super.onBind(request, newSession);
>           }
>
>           @Override
>           protected void onUnbind(String sessionId) {
>               ZeuzSession session = (ZeuzSession)
> sessionMap.get(sessionId);
>               session.onBeforeDestroy();
>               sessionMap.remove(sessionId);
>               super.onUnbind(sessionId);
>
>           }
>
>       };
>   }
>
>
>
> Nino Saturnino Martinez Vazquez Wael wrote:
>
> > Thanks for giving the pointer.:)
> >
> > Warren wrote:
> >
> > > What is wrong with extending HttpSessionStore and overiding
> > > AbstractHttpSessionStore#onBind(Request request, Session newSession)
> > > and
> > > AbstractHttpSessionStore#onUnbind(java.lang.String sessionId)? These
> > > two
> > > methods look like they are there to do exactly what you are talking
> > > about.
> > > Docs on onUnbind says:
> > >
> > > "Template method that is called when the session is being detached
> > > from the
> > > store, which typically happens when the httpsession was invalidated."
> > >
> > > It is also called when the session becomes expired. Add your sessions
> > > to a
> > > map in onBind and in onUnbind update your pojo and remove the session
> > > from
> > > the map. onUnbind gives you a sessionId. It looks like it was meant to
> > > be
> > > used to look up a session and do something with it.
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Nino Saturnino Martinez Vazquez Wael
> > > > [mailto:[EMAIL PROTECTED]
> > > > Sent: Wednesday, April 16, 2008 2:20 AM
> > > > To: users@wicket.apache.org
> > > > Subject: Re: Notification on session destroyed?
> > > >
> > > >
> > > > But I guess there are no easy way todo this one..:/
> > > >
> > > > Nino Saturnino Martinez Vazquez Wael wrote:
> > > >
> > > >
> > > > > I know(hopefully session object should be GC'ed at some time), it
> > > > > really bothers me that it's such an hard thing todo, being aware
> > > > > of
> > > > > session state... So I just wanted an easy way.
> > > > >
> > > > > jweekend wrote:
> > > > >
> > > > >
> > > > > > Using Object#finalize() for this type of thing is generally NOT
> > > > > > a
> > > > > > good idea;
> > > > > > it may get called much later than you would "expect", if at all.
> > > > > >
> > > > > > Regards - Cemal
> > > > > > http://jWeekend.co.uk
> > > > > >
> > > > > >
> > > > > > Nino.Martinez wrote:
> > > > > >
> > > > > >
> > > > > >
> > > > > > > Thanks for the example..
> > > > > > >
> > > > > > > I just think it feels very weird to go around wicket in order
> > > > > > > to
> > > > > > > achieve this, because the pojo I have are already attached to
> > > > > > > the
> > > > > > > wicket session(so I would have double overhead for this).
> > > > > > > However it
> > > > > > > could be the case that it's not simply possible from withing
> > > > > > > wicket.
> > > > > > > If not, it would be practical to have a method that you could
> > > > > > > override on wicket session called onBeforeCreate and
> > > > > > > onBeforeDestroy
> > > > > > > or something along those lines. Could I use finalize for this?
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > sander v F wrote:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > > You could also use a HttpSessionListener for knowing when a
> > > > > > > >
> > > > > > > >
> > > > > > > session is
> > > >
> > > >
> > > > > destroyed. The problem is indeed that you can't get the attributes
> > > > > > > > when
> > > > > > > > the
> > > > > > > > session is invalidated, but you can get the sessionId. So
> > > > > > > > you could
> > > > > > > > use a
> > > > > > > > Map to register the session id with the Pojo you would like
> > > > > > > > to
> > > > > > > > update. So
> > > > > > > > when the session get's destroyed you can update the Pojo.
> > > > > > > >
> > > > > > > > See
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > http://www.stardeveloper.com/articles/display.html?article=2001112
> > > > 001&page=1for
> > > >
> > > >
> > > > > an example with the HttpSessionListener.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > 2008/4/16, Nino Saturnino Martinez Vazquez Wael
> > > > > > > > <[EMAIL PROTECTED]>:
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > > So what do you think?
> > > > > > > > >
> > > > > > > > > Im not sure how common a case this is ?
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > regards Nino
> > > > > > > > >
> > > > > > > > > Nino Saturnino Martinez Vazquez Wael wrote:
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > Hmm, that feels a bit hacky.. Then I'll need to
> > > > > > > > > > implement a way of
> > > > > > > > > > tracking sessions, and I saw something about keeping
> > > > > > > > > > references to
> > > > > > > > > > destroyed
> > > > > > > > > > sessions arent that great.
> > > > > > > > > >
> > > > > > > > > > It might be me that's just way of context(not knowing
> > > > > > > > > > all of the
> > > > > > > > > > internals), but should something like this be easy todo
> > > > > > > > > > in wicket?
> > > > > > > > > >
> > > > > > > > > > Like maybe have a onDestroy or onExpire(or both?) in
> > > > > > > > > > session class?
> > > > > > > > > > However I have no idea on how much overhead this would
> > > > > > > > > > bring to
> > > > > > > > > > applications
> > > > > > > > > > that does not use the feature.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > regards Nino
> > > > > > > > > >
> > > > > > > > > > Johan Compagner wrote:
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > attached to a session of the session that is just
> > > > > > > > > > > invalided/expired?
> > > > > > > > > > > That wont work. You cant get to a http sessions
> > > > > > > > > > > attributes when
> > > > > > > > > > > it is
> > > > > > > > > > > invalidated.
> > > > > > > > > > >
> > > > > > > > > > > To know which session id's are destroyed:
> > > > > > > > > > >
> > > > > > > > > > > public void sessionDestroyed(String sessionId) of
> > > > > > > > > > > WebApplication
> > > > > > > > > > >
> > > > > > > > > > > johan
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On Tue, Apr 15, 2008 at 9:07 AM, Nino Saturnino
> > > > > > > > > > > Martinez Vazquez
> > > > > > > > > > > Wael
> > > > > > > > > > > <
> > > > > > > > > > > [EMAIL PROTECTED]> wrote:
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > > Hi
> > > > > > > > > > > >
> > > > > > > > > > > > I've checked a little around, but could not find
> > > > > > > > > > > > anything
> > > > > > > > > > > > directly.
> > > > > > > > > > > > This
> > > > > > > > > > > > is what I want todo:
> > > > > > > > > > > >
> > > > > > > > > > > > When a user either logs out or expire I want to
> > > > > > > > > > > > update a pojo
> > > > > > > > > > > > attached to
> > > > > > > > > > > > session.
> > > > > > > > > > > >
> > > > > > > > > > > > So does anyone have an example on how todo this(if
> > > > > > > > > > > > possible)?
> > > > > > > > > > > >
> > > > > > > > > > > > --
> > > > > > > > > > > > -Wicket for love
> > > > > > > > > > > >
> > > > > > > > > > > > Nino Martinez Wael
> > > > > > > > > > > > Java Specialist @ Jayway DK
> > > > > > > > > > > > http://www.jayway.dk
> > > > > > > > > > > > +45 2936 7684
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > ---------------------------------------------------------------------
> > > >
> > > >
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > > > > > > For additional commands, e-mail:
> > > > > > > > > > > > [EMAIL PROTECTED]
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > --
> > > > > > > > > -Wicket for love
> > > > > > > > >
> > > > > > > > > Nino Martinez Wael
> > > > > > > > > Java Specialist @ Jayway DK
> > > > > > > > > http://www.jayway.dk
> > > > > > > > > +45 2936 7684
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > ---------------------------------------------------------------------
> > > >
> > > >
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > > > For additional commands, e-mail:
> > > > > > > > > [EMAIL PROTECTED]
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > --
> > > > > > > -Wicket for love
> > > > > > >
> > > > > > > Nino Martinez Wael
> > > > > > > Java Specialist @ Jayway DK
> > > > > > > http://www.jayway.dk
> > > > > > > +45 2936 7684
> > > > > > >
> > > > > > >
> > > > > > > ---------------------------------------------------------------------
> > > > > > >
> > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > --
> > > > -Wicket for love
> > > >
> > > > Nino Martinez Wael
> > > > Java Specialist @ Jayway DK
> > > > http://www.jayway.dk
> > > > +45 2936 7684
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > 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]
> > >
> > >
> > >
> > >
> >
> >
> --
> -Wicket for love
>
> Nino Martinez Wael
> Java Specialist @ Jayway DK
> http://www.jayway.dk
> +45 2936 7684
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to