strange context shutdown issue on jetty 7
-----------------------------------------

                 Key: WICKET-3011
                 URL: https://issues.apache.org/jira/browse/WICKET-3011
             Project: Wicket
          Issue Type: Bug
          Components: wicket
            Reporter: Peter Ertl


when using jetty 7, creating at least one http session and then shutting down 
the web app context of the wicket web application the following happens:

- (1) jetty destroys the wicket filter by calling javax.servlet.Filter#destroy()
- (2) the thread local mapping   application key ---> application   will be 
purged
- (3) jetty calls org.apache.wicket.session.SessionBindingListener.valueUnbound 
for the expiring session:


--code--

                public void valueUnbound(final HttpSessionBindingEvent evt)
                {
                        if (log.isDebugEnabled())
                        {
                                log.debug("Session unbound: " + sessionId);
                        }

///////////////
////////////// THE APPLICATION WILL BE NULL SINCE THE WICKET FILTER 
////////////// ALREADY REMOVED IT FROM THE THREAD LOCAL
///////////////
                        Application application = 
Application.get(applicationKey);
                        
                        if (application == null)
                        {
///////////////
/////////////// YOU WILL SEE THE MESSAGE BELOW
///////////////
                                log.error("Wicket application with name '" + 
applicationKey + "' not found.");
                                return;
                        }

///////////////
/////////////// NO LISTENERS WILL BE INVOKED
///////////////
                        ISessionStore sessionStore = 
application.getSessionStore();
                        if (sessionStore != null)
                        {
                                for (UnboundListener listener : 
sessionStore.getUnboundListener())
                                {
                                        listener.sessionUnbound(sessionId);
                                }
                        }
                }

--code--


Can somebody confirm the order jetty executes the handlers is right / wrong?

In case it's wrong we should file a ticket at jetty.

In case it's right we should fix that issue in wicket.



Not fixing this incorrect behavior will mean the session unbound listeners will 
not be called reliably.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to