[
https://issues.jboss.org/browse/WFLY-7048?page=com.atlassian.jira.plugin....
]
Darryl Miles updated WFLY-7048:
-------------------------------
Steps to Reproduce:
Make a WAR project with 2 WEB-INF/lib/*.jar that have
META-INF/services/javax.servlet.ServletContainerInitializer (that simply log the calls to
#onStartup())
Now modify web.xml with various permutations of settings to observe behaviour doesn't
seem to change.
Test cases to cover:
No web.xml
web.xml (no metadata-complete attribute, no absolute-ordering element)
web.xml (no metadata-complete="true" set, no absolute-ordering element)
web.xml (no metadata-complete="true" set, absolute-ordering element with 1 name
item)
web.xml (no metadata-complete="true" set, no absolute-ordering element with 2
name items)
web.xml (no metadata-complete="true" set, no absolute-ordering element with 1
name item and 1 others element item)
web.xml (no metadata-complete="true" set, no absolute-ordering element with 1
name item and 1 others element item - the other way round the previous test)
The result wants to be a List in order of what was invoked.
was:
Make a WAR project with 2 WEB-INF/lib/*.jar that have
META-INF/services/javax.servlet.ServletContainerInitializer (that simply log the calls to
#onStartup())
Now modify web.xml with various permutations of settings to observe behaviour doesn't
seem to change.
Test cases to over:
No web.xml
web.xml (no metadata-complete attribute, no absolute-ordering element)
web.xml (no metadata-complete="true" set, no absolute-ordering element)
web.xml (no metadata-complete="true" set, absolute-ordering element with 1 name
item)
web.xml (no metadata-complete="true" set, no absolute-ordering element with 2
name items)
web.xml (no metadata-complete="true" set, no absolute-ordering element with 1
name item and 1 others element item)
web.xml (no metadata-complete="true" set, no absolute-ordering element with 1
name item and 1 others element item - the other way round the previous test)
The result wants to be a List in order of what was invoked.
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 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.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)