[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