[jboss-jira] [JBoss JIRA] (WFLY-7048) Servlet 3.x metadata-complete="true" does not honour absolute-ordering element
Darryl Miles (JIRA)
issues at jboss.org
Mon Sep 5 11:04:00 EDT 2016
[ https://issues.jboss.org/browse/WFLY-7048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darryl Miles updated WFLY-7048:
-------------------------------
Description:
Servlet 3.x metadata-complete="true" does not honour absolute-ordering element.
If I have a web.xml that sets metadata-complete="true" in the <web-app> element.
The container is expected to only allow the initialization of the named entries inside the <absolute-ordering> element that does not have the presence of an <others/> element inside it.
So a metadata-complete="true" with a non-existing (or empty) <absolute-ordering> is expected to effectively filter and then exclude ALL ServletContainerInitializer found. Since nothing was specified by a <name> element, and the <others/> element is not present.
This might also be considered a fast-path to prevent any package scanning for annotations / interfaces.
The bug here is that I can observe no change in behaviour (regardless of metadata-complete="true" setting, or the contents I tried of the <absolute-ordering> element, it always has the same results of finding and processing everything found in the classpath JARs).
Does WEB-INF/jboss-web.xml support undertow specific filtering of the packages to scan for ServletContainerInitializer ? Many other contains have support for this (jetty/tomcat) and the jboss-web.xml seems the obvious place to put it.
I can provide references to this feature, since it still helps in the developmentMode scenario (where I spend most of my time and care most about startup performance).
Also the servlet 3.x spec seem to have omited the notion of allowing WEB-INF/classes to contain a ServletContainerInitializer, they omitted having a section in web.xml to provide this, they omitted allowing a WAR to have WEB-INF/META-INF/services/javax.servlet.ServletContainerInitializer as well.
was:
Servlet 3.x metadata-complete="true" does not honour absolute-ordering element.
If I have a web.xml that sets metadata-complete="true" in the <web-app> element.
The container is expected to only allow the initialization of the named entries inside the <absolute-ordering> element that does not have the presense of an <others/> element inside it.
So a metadata-complete="true" with a non-existing (or empty) <absolute-ordering> is expected to effectively filter and then exclude ALL ServletContainerInitializer found. Since nothing was specified by a <name> element, and the <others/> element is not present.
This might also be considered a fast-path to prevent any package scanning for annotations / interfaces.
The bug here is that I can observe no change in behaviour (regardless of metadata-complete="true" setting, or the contents I tried of the <absolute-ordering> element, it always has the same results of finding and processing everything found in the classpath JARs).
Does WEB-INF/jboss-web.xml support undertow specific filtering of the packages to scan for ServletContainerInitializer ? Many other contains have support for this (jetty/tomcat) and the jboss-web.xml seems the obvious place to put it.
I can provide references to this feature, since it still helps in the developmentMode scenario (where I spend most of my time and care most about startup performance).
Also the servlet 3.x spec seem to have omited the notion of allowing WEB-INF/classes to contain a ServletContainerInitializer, they omitted having a section in web.xml to provide this, they omitted allowing a WAR to have WEB-INF/META-INF/services/javax.servlet.ServletContainerInitializer as well.
> Servlet 3.x metadata-complete="true" does not honour absolute-ordering element
> ------------------------------------------------------------------------------
>
> Key: WFLY-7048
> URL: https://issues.jboss.org/browse/WFLY-7048
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Affects Versions: 10.1.0.Final
> Reporter: Darryl Miles
> Assignee: Stuart Douglas
>
> Servlet 3.x metadata-complete="true" does not honour absolute-ordering element.
> If I have a web.xml that sets metadata-complete="true" in the <web-app> element.
> The container is expected to only allow the initialization of the named entries inside the <absolute-ordering> element that does not have the presence of an <others/> element inside it.
> So a metadata-complete="true" with a non-existing (or empty) <absolute-ordering> is expected to effectively filter and then exclude ALL ServletContainerInitializer found. Since nothing was specified by a <name> element, and the <others/> element is not present.
> This might also be considered a fast-path to prevent any package scanning for annotations / interfaces.
> The bug here is that I can observe no change in behaviour (regardless of metadata-complete="true" setting, or the contents I tried of the <absolute-ordering> element, it always has the same results of finding and processing everything found in the classpath JARs).
> Does WEB-INF/jboss-web.xml support undertow specific filtering of the packages to scan for ServletContainerInitializer ? Many other contains have support for this (jetty/tomcat) and the jboss-web.xml seems the obvious place to put it.
> I can provide references to this feature, since it still helps in the developmentMode scenario (where I spend most of my time and care most about startup performance).
> Also the servlet 3.x spec seem to have omited the notion of allowing WEB-INF/classes to contain a ServletContainerInitializer, they omitted having a section in web.xml to provide this, they omitted allowing a WAR to have WEB-INF/META-INF/services/javax.servlet.ServletContainerInitializer as well.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list