Hi

I have created these issues:

http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-952

https://issues.apache.org/jira/browse/MYFACES-3082

I agree with the proposed behavior, and I don't think do it could
cause any problems. So from my side there is no objections about the
artifacts proposed. Thanks for the clarification.

Leonardo

2011/3/24 Andy Schwartz <[email protected]>:
> Gang -
>
> Looking back at the EG emails, I realize now that I dropped the ball
> on making sure that my proposed changes actually made it into the
> spec.
>
> Here was my original email ("Metadata complete jar files") from
> Septeber 3, 2009:
>
>> Gang -
>>
>> Section 11.5.1 of the spec defines the following annotation scanning 
>> behavior:
>>
>> > Requirements for scanning of classes for annotations
>> > * If the <faces-config> element in the WEB-INF/faces-config.xml file 
>> > contains metadata-complete attribute whose value is “true”, the 
>> > implementation must not perform annotation scanning on any classes except 
>> > for those classes provided by the implementation itself. Otherwise, 
>> > continue as follows.
>> > * If the runtime discovers a conflict between an entry in the Application 
>> > Configuration Resources and an annotation, the entry in the Application 
>> > Configuration Resources takes precedence.
>> > * All classes in WEB-INF/classes must be scanned.
>> > * For every jar in the application's WEB-INF/lib directory, if the jar 
>> > contains a “META-INF/faces-config.xml” file or a file that matches the 
>> > regular expression “.*\.faces-config.xml” (even an empty one), all classes 
>> > in that jar must be scanned.
>>
>>
>> Since application developers have the ability to disable annotation scanning 
>> at a global level, this means that any component set that wants to support 
>> this mode would need to provide a metadata complete faces-config.xml file. I 
>> don't think this is a hardship for most component vendors, since presumably 
>> component vendors are going to want to provide design-time metadata (eg. 
>> JSR-276 metadata), which, for the moment, requires a faces-config.xml file 
>> anyway.
>>
>> A question that came up here is whether we can tweak section 11.5.1 to 
>> accommodate metadata complete jar files. That is, can we specify that any 
>> jar that contains a faces-config.xml with a metadata-complete="true" 
>> attribute would not be scanned? This would allow component vendors to 
>> indicate that their jar files are metadata complete, and thus avoid the cost 
>> of annotation scanning for the contents of the jar.
>>
>> Note that while the annotation scan is typically a one time hit (during 
>> application startup), design-time tools may end up starting/stopping JSF 
>> repeatedly during the development process. Thus, avoiding unnecessary 
>> scanning should provide for a more efficient development experience.
>>
>> Any thoughts on whether we could/should make this change? Does anyone know 
>> of reasons why we avoided specifying this originally?
>>
>> Also - if we agree to make this change, is this small enough that we could 
>> get this into the the next MR?
>>
>> Andy
>
> Both Dan and Pete responded in support.  There were no other responses
> on the EG list.
>
> I should have followed up to make sure that the spec update happened,
> but apparently never did.  I will do that now. :-)
>
> Sorry about the confusion. :-(
>
> Andy
>

Reply via email to