You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Piotr Marnik (JIRA)" <ji...@apache.org> on 2010/06/22 12:22:55 UTC
[jira] Commented: (WICKET-2902) WicketSessionFilter still broken:
you can only locate or create sessions in the context of a request cycle
[ https://issues.apache.org/jira/browse/WICKET-2902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12881157#action_12881157 ]
Piotr Marnik commented on WICKET-2902:
--------------------------------------
I think, that this issue is caused by not binded wicket session to thread local object. Below I propose following patch wich was fix this issue for me:
{code}
--- WicketSessionFilter.java 2010-06-22 11:43:05.000000000 +0200
+++ WicketSessionFilter.java 2010-06-22 12:11:43.000000000 +0200
@@ -186,6 +186,7 @@
else
{
session.bind();
+ Session.set(session);
}
}
{code}
> WicketSessionFilter still broken: you can only locate or create sessions in the context of a request cycle
> ----------------------------------------------------------------------------------------------------------
>
> Key: WICKET-2902
> URL: https://issues.apache.org/jira/browse/WICKET-2902
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.4.9
> Reporter: Maarten Billemont
> Priority: Critical
>
> Ever since 1.4.8 (see WICKET-2778 and WICKET-2858) WicketSessionFilter has been broken for me. This basically breaks my wicket application completely as I rely on servlets being able to access my wicket session. For that reason, I think Critical or Blocker is a fair priority for this issue.
> In 1.4.9 I get the following while reverting to 1.4.7 it works as expected:
> {code}
> java.lang.IllegalStateException: you can only locate or create sessions in the context of a request cycle
> at org.apache.wicket.Session.findOrCreate(Session.java:208)
> at org.apache.wicket.Session.get(Session.java:252)
> at com.lyndir.lhunath.snaplog.webapp.SnaplogSession.get(SnaplogSession.java:78)
> at com.lyndir.lhunath.snaplog.webapp.servlet.ImageServlet.doGet(ImageServlet.java:117)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216)
> at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141)
> at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63)
> at org.apache.wicket.protocol.http.servlet.WicketSessionFilter.doFilter(WicketSessionFilter.java:150)
> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
> at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:363)
> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129)
> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59)
> at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122)
> at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110)
> at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378)
> at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.