Details
Description
RetryRequest get caught in MainServlet.java due to ICE-4261
The following causes the problem:
//ICE-4261: We cannot wrap RuntimeExceptions as ServletExceptions because of support for Jetty
//Continuations. However, if the message of a RuntimeException is null, Tomcat won't
//properly redirect to the configured error-page. So we need a new RuntimeException
//that actually includes a message.
if( e.getMessage() != null ){
throw e;
}
throw new RuntimeException("no message available",e);
I propose the following fix:
if (e.getMessage() != null || e.getClass().getCanonicalName().equals("org.mortbay.jetty.RetryRequest")) {
throw e;
}
throw new RuntimeException("no message available",e);
Unfortunately I was writing a detailed review and I lost it. Damn firefox...
The following causes the problem:
//
//Continuations. However, if the message of a RuntimeException is null, Tomcat won't
//properly redirect to the configured error-page. So we need a new RuntimeException
//that actually includes a message.
if( e.getMessage() != null ){
throw e;
}
throw new RuntimeException("no message available",e);
I propose the following fix:
if (e.getMessage() != null || e.getClass().getCanonicalName().equals("org.mortbay.jetty.RetryRequest")) {
throw e;
}
throw new RuntimeException("no message available",e);
Unfortunately I was writing a detailed review and I lost it. Damn firefox...
Issue Links
- depends on
-
ICE-4261 REGRESSION: broken error handling mechanism for JSF 1.2
- Closed
The MainServlet.java containing the proposed correction, from 1.8.0 src release.