myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Lucy (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Created] (MYFACES-4042) Improve startup time by skipping classpath jar scan for *.faces-config.xml
Date Mon, 04 Apr 2016 19:32:25 GMT
Bill Lucy created MYFACES-4042:
----------------------------------

             Summary: 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.2.9, 2.1.18
         Environment: WebSphere
            Reporter: Bill Lucy
            Priority: Minor


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)

Mime
View raw message