[ 
https://issues.apache.org/jira/browse/MYFACES-3493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13226189#comment-13226189
 ] 

Leonardo Uribe commented on MYFACES-3493:
-----------------------------------------

This modification is questionable. In theory, the components will always 
register resources that exists. Use the same cache used to save information 
related to Resource classes doesn't sound good, because asking for non existent 
resources it is possible to clean that cache, and that is not the idea. 

Instead, it is responsibility of the ResourceLoader implementation to minimize 
the associated overhead. In this case, the cache should be implemented in 
org.apache.myfaces.shared.resource.ClassLoaderResourceLoader.

Anyway, it seems something more related to your particular environment, and not 
something to solve from MyFaces side. I suggest to create a custom 
ResourceHandler implementation, reusing the api provided by MyFaces into its 
shared package. 

Suggestions are welcome.
                
> Cache info about non-existant resources in 
> org.apache.myfaces.application.ResourceHandlerImpl.createResource()
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3493
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3493
>             Project: MyFaces Core
>          Issue Type: Improvement
>          Components: Extension Feature
>    Affects Versions: 2.1.6
>         Environment: Linux FC15
>            Reporter: Dmitry Kukushkin
>
> The existent resources are cached in the public Resource 
> createResource(String resourceName, String libraryName, String contentType) 
> method,
> which is good, but the information about resources, which are not existent ( 
> deriveResourceMeta(loader, resourceName, libraryName, localePrefix) returned 
> null ) is not cached.
> Thus at the next requests for the same resource the same resource lookup 
> operations will happen, which may be expensive.
> In my case, for example (Tomcat + Spring + MyFaces + Tomahawk), for every 
> html tag, lookup on the file system and in all classpaths (including ~30 
> jars) is performed (and failing), which de-gradates response time by factor 
> of 25!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to