myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Val Blant (JIRA)" <>
Subject [jira] Commented: (MYFACES-1812) All faces-config.xml get loaded twice from jars in WEB-INF/lib
Date Fri, 01 Feb 2008 18:43:11 GMT


Val Blant commented on MYFACES-1812:

Tested 1.2.3-SNAPSHOT - works as expected now. Thanks, Martin.

I think the reason most people don't see this happen might be b/c people usually have a WAR
and an EAR class loader. I am not 100% sure, but I think that the EAR class loader would not
see the stuff under WEB-INF/lib. In my development environment I start my web app in place
with Jetty6 with help of an Eclipse plugin. This results in a WAR class loader and a Launcher
class loader, which sees all of the web project's dependencies, including the jars under WEB-INF/lib.


> All faces-config.xml get loaded twice from jars in WEB-INF/lib
> --------------------------------------------------------------
>                 Key: MYFACES-1812
>                 URL:
>             Project: MyFaces Core
>          Issue Type: Bug
>            Reporter: Val Blant
>            Assignee: Martin Marinschek
>             Fix For: 1.2.3-SNAPSHOT
> "ClassUtils.getResources(FACES_CONFIG_RESOURCE, this)" will return an iterator over all
"META-INF/faces-config.xml" resources that were found. The search is carried out by starting
at WebAppClassLoader and making an Enumeration of all resources with the given name that WebAppClassLoader
and all its parents see. The jars placed into WEB-INF/lib will be seen by the WebAppClassLoader
AND AppClassLoader, thus resulting in the same jars (the ones that have "META-INF/faces-config.xml")
being placed on the list twice. 
> This is fine, but things break when FacesConfigurator.feedClassloaderConfigurations()
does not check for duplicate URLs and just blindly registers everything from these jars twice.

> One of the effects of this bug is that all phase listeners get registered and therefore
executed twice.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message