Stefan Pietschmann wrote:

It's a new day and a new problem arises for me:

I want to notify my Avalon component when a session is created or destroyed. I had previously written a simple HttpSessionListener which I declared in web.xml. sessionCreated() and sessionDestroyed() get invoked just as they should.

Now what's the best practise to notify my component from there? These are the ideas I had:

1) Make the SessionListener a Serviceable Component itself, so it can use the ServiceManager to lookup my other component and invoke some method there.

2) Make my Avalon component a SessionListener itself (I don't think that's possible, is it? I added it to web.xml as listener class and cocoon.xconf as component, but the session methods were not invoked)

3)       Keep both classes as they are and do it the right way ;) ?

How would you go about this?

I'd do it the way I have told folks before. Don't use HttpSessionListener. Make your component implement HttpSessionBindingListener. Then store your component as a session attribute. When the session is destroyed it will be notified. This doesn't require anything in web.xml.

Ralph

Reply via email to