[
https://issues.jboss.org/browse/WFLY-7048?page=com.atlassian.jira.plugin....
]
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)