[
https://issues.apache.org/jira/browse/WICKET-4189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13143801#comment-13143801
]
Emond Papegaaij commented on WICKET-4189:
-----------------------------------------
The attached patch should fix the first issue. However, I don't like the
catching of PageExpiredException. For the second error, the catch should even
be 'Exception'. IPage(AndComponent)Provider keep beeing interfaces that are
difficult to work with. Non of the exceptions are documented, and most code
that works with the providers seem to assume the default implementation. Isn't
it possible to change the providers to return null, rather than throwing an
exception?
> RequestHandlerStack: Unnecessary Stacktrace in log on PageExpiredException
> --------------------------------------------------------------------------
>
> Key: WICKET-4189
> URL: https://issues.apache.org/jira/browse/WICKET-4189
> Project: Wicket
> Issue Type: Improvement
> Components: wicket
> Affects Versions: 1.5.2
> Reporter: Matthias Keller
> Attachments: 0001-WICKET-4189.patch, wicket-4189.zip
>
>
> We use session.replaceSession() when a user logs out which appears to clear
> all previous pages (which is good), and when the user tries to go back he
> gets a PageExpiredException (which is also good).
> Only that this exception is logged in error level from the
> RequestHandlerStack is very ugly and triggers our customer's log monitoring
> tool. PageExpiredExceptions should never bubble up into the log unless they
> cannot be handled correctly.
> This is the stacktrace:
> ERROR request.RequestHandlerStack - Error detaching RequestHandler
> org.apache.wicket.protocol.http.PageExpiredException: Page with id '2' has
> expired.
> at
> org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:169)
> at
> org.apache.wicket.request.handler.PageProvider.getPageClass(PageProvider.java:227)
> at
> org.apache.wicket.request.handler.logger.PageLogData.<init>(PageLogData.java:49)
> at
> org.apache.wicket.request.handler.RenderPageRequestHandler.detach(RenderPageRequestHandler.java:147)
> at
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.detach(RequestCycle.java:761)
> at
> org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:180)
> at
> org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:565)
> at
> org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:508)
> at
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:284)
> at
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
> at
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:722)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira