You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Thomas Andraschko (JIRA)" <de...@myfaces.apache.org> on 2016/04/04 21:39:25 UTC

[jira] [Commented] (MYFACES-4042) Improve startup time by skipping classpath jar scan for *.faces-config.xml

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

Thomas Andraschko commented on MYFACES-4042:
--------------------------------------------

For me it sounds like:
If the user doesn't add the FacesServlet to the web.xml, we can skip faces-config.xml scanning.

Is there any case that users may add MyFaces as dependency and don't use it?



> Improve startup time by skipping classpath jar scan for *.faces-config.xml
> --------------------------------------------------------------------------
>
>                 Key: MYFACES-4042
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4042
>             Project: MyFaces Core
>          Issue Type: Improvement
>    Affects Versions: 2.1.18, 2.2.9
>         Environment: WebSphere
>            Reporter: Bill Lucy
>            Priority: Minor
>         Attachments: MYFACES-4042.patch
>
>
> In version 2.1 org.apache.myfaces.ee6.MyFacesContainerInitializer was updated to scan for faces-config.xml resources in applications JARs during startup, as part of the process to add a FacesConfig in onStartup().  This is a very expensive scan, since we have to iterate over every file in every jar on the app classpath.  
> This scan is not completely necessary: in the spec we have:
> Section 11.4.2 “Application Startup Behavior”
> Implementations may check for the presence of a servlet-class definition of class javax.faces.webapp.FacesServlet in the web application deployment descriptor as a means to abort the configuration process and reduce startup time for applications that do not use JavaServer Faces Technology.
> Which I interpret to mean that skipping checking the app jars at init time - for the purpose of adding a dynamic FacesServlet - is valid.  Given the performance hit for the scan, I think adding a context param to disable the scan would be worthwhile.  Something like:
> org.apache.myfaces.INITIALIZE_SKIP_JAR_FACES_CONFIG_SCAN
> Would this be worthwhile for others?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)