[
https://issues.apache.org/jira/browse/MYFACES-4042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225102#comment-15225102
]
Leonardo Uribe commented on MYFACES-4042:
-----------------------------------------
The problem is there is no place to indicate that "globally". Every config
param is loaded from the web.xml file.
For example, in tomcat 7 there is a config option that can be specified in
catalina.properties :
{code}
# Additional JARs (over and above the default JARs listed above) to skip when
# scanning for Servlet 3.0 pluggability features. These features include web
# fragments, annotations, SCIs and classes that match @HandlesTypes. The list
# must be a comma separated list of JAR file names.
org.apache.catalina.startup.ContextConfig.jarsToSkip=
{code}
This file adds a system property. What I mean is we could make a system
property instead a web config param property (or both with the same name takes
precedence the web config param). It is the same as how org.apache.el.parser.
COERCE_TO_ZERO works.
> 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)