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)