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.