orderedFragments = WebXml.orderWebFragments(webXml, fragments);
// Step 3. Look for ServletContainerInitializer implementations
- ok = processServletContainerInitializers(orderedFragments);
+ if (ok) {
+ processServletContainerInitializers(orderedFragments);
+ }
// Step 4. Process /WEB-INF/classes for annotations
// This will add any matching classes to the typeInitializerMap
}
} else {
webXml.configureContext(context);
- ok = true;
}
// Always need to look for static resources
* Scan JARs for ServletContainerInitializer implementations.
* Implementations will be added in web-fragment.xml priority order.
*/
- protected boolean processServletContainerInitializers(
+ protected void processServletContainerInitializers(
Set<WebXml> fragments) {
for (WebXml fragment : fragments) {
log.error(sm.getString(
"contextConfig.servletContainerInitializerFail", url,
context.getName()));
- return false;
+ ok = false;
+ return;
} finally {
if (is != null) {
try {
}
}
- return true;
}
embedded Tomcat instance that includes at least one Context is destroyed
without ever being started. (markt)
</fix>
+ <fix>
+ Ensure a web application is taken out of service if the web.xml file is
+ not valid. (kkolinko/markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">