Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.0
-
None
Description
Take the sample app built by tapestry-simple, and change buildTimingFilter to:
public RequestFilter buildTimingFilter(final Log log, final @InjectService("Test") Object test)
... body unchanged ...
Add:
public static Object buildTest()
{ throw new RuntimeException("Bang"); }When you run this, you get a 500 page:
HTTP ERROR: 500
INTERNAL_SERVER_ERROR
RequestURI=/myapp/start
Caused by:
java.lang.NullPointerException
at $Request_1110563691a.getContextPath($Request_1110563691a.java)
at $Request_111056368ca.getContextPath($Request_111056368ca.java)
at org.apache.tapestry.internal.services.RequestRenderer.render(RequestRenderer.java:34)
at org.apache.tapestry.internal.services.RequestRenderer.render(RequestRenderer.java:24)
at $ObjectRenderer_11105636919.render($ObjectRenderer_11105636919.java)
at $ObjectRenderer_111056368c7.render($ObjectRenderer_111056368c7.java)
at org.apache.tapestry.corelib.components.RenderObject.beginRender(RenderObject.java:37)
at org.apache.tapestry.corelib.components.RenderObject.beginRender(RenderObject.java)
at org.apache.tapestry.internal.structure.ComponentPageElementImpl$10$1.run(ComponentPageElementImpl.java:334)
at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:931)
at org.apache.tapestry.internal.structure.ComponentPageElementImpl.access$100(ComponentPageElementImpl.java:68)
at org.apache.tapestry.internal.structure.ComponentPageElementImpl$10.render(ComponentPageElementImpl.java:338)
at org.apache.tapestry.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:57)
at org.apache.tapestry.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:40)
at $PageMarkupRenderer_11105636915.renderPageMarkup($PageMarkupRenderer_11105636915.java)
at org.apache.tapestry.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:45)
at $PageResponseRenderer_111056368da.renderPageResponse($PageResponseRenderer_111056368da.java)
at org.apache.tapestry.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:56)
at $RequestExceptionHandler_111056368b1.handleRequestException($RequestExceptionHandler_111056368b1.java)
at org.apache.tapestry.services.TapestryModule$6.service(TapestryModule.java:523)
at $RequestHandler_111056368ee.service($RequestHandler_111056368ee.java)
at org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:56)
at $RequestHandler_111056368ee.service($RequestHandler_111056368ee.java)
at org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:43)
at $RequestHandler_111056368ee.service($RequestHandler_111056368ee.java)
at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:91)
at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:82)
at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:104)
at $RequestHandler_111056368ee.service($RequestHandler_111056368ee.java)
at $RequestHandler_111056368e8.service($RequestHandler_111056368e8.java)
at org.apache.tapestry.services.TapestryModule$3.service(TapestryModule.java:402)
at $HttpServletRequestHandler_111056368e7.service($HttpServletRequestHandler_111056368e7.java)
at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:114)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:401)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
The logs are no more informative.