Josef. I just checked in some code that I believe should fix the issue.
Can you check out and build from the trunk and see if you're able to
reproduce this issue now? Please let us know how it goes. Thanks.
-Ben
Josef Cacek wrote:
> Hello,
> I do redirect and then forward in my code, and it works in most
> cases. But sometime (in cca 20% of requests) I get ClassCastException.
> The problem occurs not always on the same place, so I'm not able to
> write steps to reproduce it - it looks like concurrent access to the
> request (wrappers) from more threads. If I make reload of page after
> the exception it works fine.
> I use Stripes 1.4.3 on Jetty 6.1.8, ActionResolver configured for
> .html suffix. Here is my code:
>
> web.xml:
> <filter-mapping>
> <filter-name>StripesFilter</filter-name>
> <servlet-name>StripesDispatcher</servlet-name>
> <dispatcher>REQUEST</dispatcher>
> <!-- i've tried also this but it didn't help
> <dispatcher>FORWARD</dispatcher>
> -->
> </filter-mapping>
>
> <servlet>
> <servlet-name>StripesDispatcher</servlet-name>
>
> <servlet-class>net.sourceforge.stripes.controller.DispatcherServlet</servlet-class>
> <load-on-startup>1</load-on-startup>
> </servlet>
>
> <servlet-mapping>
> <servlet-name>StripesDispatcher</servlet-name>
> <url-pattern>*.html</url-pattern>
> </servlet-mapping>
>
> ============================================
> JSP:
> <s:form action="/SelectObjects.html" name="objectsForm">
> <s:submit name="searchNew">Search</s:submit>
> </s:form>
>
> ============================================
> SelectObjectsActionBean.java:
>
> @DefaultHandler
> public Resolution begin() {
> return new ForwardResolution("/WEB-INF/jsp/objectList.jsp");
> }
>
> public Resolution search() {
> return new ForwardResolution("/WEB-INF/jsp/searchForm.jsp");
> }
>
> public Resolution searchNew() {
> // some logic here
> return new RedirectResolution("/SelectObjects.html?search=").flash(this);
> }
>
> ============================================
> Stack trace:
> java.lang.ClassCastException: org.mortbay.jetty.Request
> at
> net.sourceforge.stripes.controller.StripesFilter.flashInbound(StripesFilter.java:222)
> at
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:179)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at
> org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
> 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:726)
> at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 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:505)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
> at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
> Do you have any idea, what could be wrong?
> Thanks in advance for your help.
>
> Best regards,
>
> -- Josef Cacek
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
> Don't miss this year's exciting event. There's still time to save $100.
> Use priority code J8TL2D2.
> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> Stripes-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-users
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users