hi Leonardo what startup time are u guys gettting with the deploy myfaces on appengine?
-lp On 23 May 2012 15:12, Leonardo Uribe <lu4...@gmail.com> wrote: > Hi > > You need to take a look at: > > org.apache.myfaces.spi.FacesConfigResourceProvider > org.apache.myfaces.spi.FaceletConfigResourceProvider > org.apache.myfaces.spi.AnnotationProvider > > > http://myfaces.apache.org/core21/myfaces-impl/apidocs/org/apache/myfaces/spi/FacesConfigResourceProvider.html > > http://myfaces.apache.org/core21/myfaces-impl/apidocs/org/apache/myfaces/spi/FaceletConfigResourceProvider.html > > I think the problem is this code: > > public Collection<URL> getMetaInfConfigurationResources( > ExternalContext context) throws IOException > { > List<URL> urlSet = new ArrayList<URL>(); > > //This usually happens when maven-jetty-plugin is used > //Scan jars looking for paths including META-INF/faces-config.xml > Enumeration<URL> resources = > getClassLoader().getResources(FACES_CONFIG_IMPLICIT); > while (resources.hasMoreElements()) > { > urlSet.add(resources.nextElement()); > } > > //Scan files inside META-INF ending with .faces-config.xml > URL[] urls = Classpath.search(getClassLoader(), > META_INF_PREFIX, FACES_CONFIG_SUFFIX); > for (int i = 0; i < urls.length; i++) > { > urlSet.add(urls[i]); > } > > return urlSet; > } > > Specially the call to Classpath.search(). The code works well, but > maybe in GAE this operation is very expensive. One option is do not > scan for .faces-config.xml, or try to scan the jar files directly from > WEB-INF/lib. Note the call from Classpath.search() is done in the > annotation scanning part too, so if you found it is a problem, maybe > we can do the alternative logic and include it inside myfaces core to > make it work "out of the box" in gae without this problem. Look this > demo: > > http://myfaces.apache.org/core20/googleappenginesupport.html > > regards, > > Leonardo Uribe > > 2012/5/23 lucio piccoli <lu...@asteriski.com>: > > hi leonardo > > > > thanks for the help but there was no difference in startup time. > > > > from the log the big time expense is scanning for faces-config.xml. > > > > org.apache.myfaces.config.DefaultFacesConfigurationProvider > > getClassloaderFacesConfig > > > > > > what other options are there to prevent file scanning? > > > > > > -lp > > > > > > On 22 May 2012 17:26, Leonardo Uribe <lu4...@gmail.com> wrote: > > > >> Hi > >> > >> MyFaces provides some SPI interfaces that allow to provide web > >> container specific code in cases like annotation scannig or when it > >> tries to locate faces-config.xml or .taglib.xml files. > >> > >> But first of all, try to setup this web config param: > >> > >> org.apache.myfaces.annotation.SCAN_PACKAGES > >> > >> Indicate the packages where your managed beans are, separated by > >> comma. Let us know if that solves your problem, or if you do some SPI > >> code, it could be good to add it in myfaces core project in someway. > >> > >> regards, > >> > >> Leonardo Uribe > >> > >> 2012/5/22 lucio piccoli <lu...@asteriski.com>: > >> > the spring issue is exclusive to the myfaces startup. > >> > > >> > the myfaces startup seems to be spending its time doing a file scan > for > >> > 'faces-config.xml' and other stuff. > >> > File access speed is known to be poor on GAE. > >> > > >> > so is there a way to config myfaces not to file scan? > >> > > >> > -lp > >> > > >> > On 22 May 2012 17:07, Daniel Reznick <vedm...@gmail.com> wrote: > >> > > >> >> Before that, > >> >> > >> >> Know that Spring and JSF are known for their SLOW start up time on > GAE > >> (I > >> >> think especially Sping) a short googling can show this , and maybe > some > >> >> tricks to speed it up (but it still will be slow...) > >> >> > >> >> On Tue, May 22, 2012 at 5:13 AM, lucio piccoli <lu...@asteriski.com> > >> >> wrote: > >> >> > >> >> > hi guys > >> >> > > >> >> > i am running myfaces 2.1.6 on appengine 1.6.4. > >> >> > > >> >> > the start up time is too long. according to my log 13 seconds of > wall > >> >> time. > >> >> > > >> >> > this 13 sec is killing my GAE startup time as it has a hardlimit. > >> >> > > >> >> > Q1. why is myfaces taking 12 seconds to load? > >> >> > Q2. how can i reduce the myfaces load time? > >> >> > > >> >> > the log snippet is below. the start of the log is once spring > >> initiation > >> >> is > >> >> > complete. > >> >> > > >> >> > INFO: Root WebApplicationContext: initialization completed in 9598 > ms > >> >> > 22/05/2012 1::57:04 AM > org.apache.myfaces.webapp.Jsp20FacesInitializer > >> >> > initContainerIntegration > >> >> > INFO: This application isn't running in a JSP 2.1 container. > >> >> > 22/05/2012 1:57:04 AM > >> >> > org.apache.myfaces.config.DefaultFacesConfigurationProvider > >> >> > getStandardFacesConfig > >> >> > INFO: Reading standard config META-INF/standard-faces-config.xml > >> >> > 22/05/2012 1:57:05 AM > >> >> > org.apache.myfaces.config.DefaultFacesConfigurationProvider > >> >> > getWebAppFacesConfig > >> >> > INFO: Reading config /WEB-INF/faces-config.xml > >> >> > 22/05/2012 1:57:08 AM > >> >> > org.apache.myfaces.config.DefaultFacesConfigurationProvider > >> >> > getClassloaderFacesConfig > >> >> > INFO: Reading config : > >> >> > > >> >> > > >> >> > >> > jar:file:/C:/src/miiingle/venueportal/trunk/target/venueportal-1.0-SNAPSHOT/WEB-INF/lib/gmaps4jsf-core-1.1.4.jar!/META-INF/faces-config.xml > >> >> > 22/05/2012 1:57:09 AM > >> >> > org.apache.myfaces.config.DefaultFacesConfigurationProvider > >> >> > getClassloaderFacesConfig > >> >> > INFO: Reading config : > >> >> > > >> >> > > >> >> > >> > jar:file:/C:/src/miiingle/venueportal/trunk/target/venueportal-1.0-SNAPSHOT/WEB-INF/lib/richfaces-components-ui-4.2.1.Final.jar!/META-INF/faces-config.xml > >> >> > 22/05/2012 1:57:12 AM > >> >> > org.apache.myfaces.config.DefaultFacesConfigurationProvider > >> >> > getClassloaderFacesConfig > >> >> > INFO: Reading config : > >> >> > > >> >> > > >> >> > >> > jar:file:/C:/src/miiingle/venueportal/trunk/target/venueportal-1.0-SNAPSHOT/WEB-INF/lib/richfaces-core-impl-4.2.1.Final.jar!/META-INF/faces-config.xml > >> >> > 22/05/2012 1:57:12 AM > >> >> > org.apache.myfaces.config.DefaultFacesConfigurationProvider > >> >> > getClassloaderFacesConfig > >> >> > INFO: Reading config : > >> >> > > >> >> > > >> >> > >> > jar:file:/C:/src/miiingle/venueportal/trunk/target/venueportal-1.0-SNAPSHOT/WEB-INF/lib/tomahawk20-1.1.11.jar!/META-INF/faces-config.xml > >> >> > 22/05/2012 1:57:12 AM org.apache.myfaces.config.LogMetaInfUtils > >> >> logArtifact > >> >> > INFO: Artifact 'myfaces-api' was found in version '2.1.6' from path > >> >> > > >> >> > > >> >> > >> > 'file:/C:/src/miiingle/venueportal/trunk/target/venueportal-1.0-SNAPSHOT/WEB-INF/lib/myfaces-api-2.1.6.jar' > >> >> > 22/05/2012 1:57:12 AM org.apache.myfaces.config.LogMetaInfUtils > >> >> logArtifact > >> >> > INFO: Artifact 'myfaces-impl' was found in version '2.1.6' from > path > >> >> > > >> >> > > >> >> > >> > 'file:/C:/src/miiingle/venueportal/trunk/target/venueportal-1.0-SNAPSHOT/WEB-INF/lib/myfaces-impl-2.1.6.jar' > >> >> > 22/05/2012 1:57:12 AM org.apache.myfaces.config.LogMetaInfUtils > >> >> logArtifact > >> >> > INFO: Artifact 'tomahawk20' was found in version '1.1.11' from path > >> >> > > >> >> > > >> >> > >> > 'file:/C:/src/miiingle/venueportal/trunk/target/venueportal-1.0-SNAPSHOT/WEB-INF/lib/tomahawk20-1.1.11.jar' > >> >> > 22/05/2012 1:57:13 AM org.richfaces.resource.ResourceHandlerImpl > >> <init> > >> >> > FINE: Instance of org.richfaces.resource.ResourceHandlerImpl > resource > >> >> > handler created > >> >> > 22/05/2012 1:57:13 AM > org.apache.myfaces.util.ExternalSpecifications > >> >> > isBeanValidationAvailable > >> >> > INFO: MyFaces Bean Validation support disabled > >> >> > 22/05/2012 1:57:15 AM net.sf.jsfcomp.onload.OnLoadPhaseListener > <init> > >> >> > INFO: OnLoadPhaseListener created > >> >> > 22/05/2012 1:57:15 AM > org.apache.myfaces.application.ApplicationImpl > >> >> > getProjectStage > >> >> > INFO: Couldn't discover the current project stage, using Production > >> >> > 22/05/2012 1:57:15 AM org.apache.myfaces.config.FacesConfigurator > >> >> > handleSerialFactory > >> >> > INFO: Serialization provider : class > >> >> > org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory > >> >> > 22/05/2012 1:57:15 AM > >> >> > > org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory > >> >> > getLifecycleProvider > >> >> > INFO: Using LifecycleProvider > >> >> > > >> >> > >> > org.apache.myfaces.config.annotation.NoInjectionAnnotationLifecycleProvider > >> >> > > >> >> > -- > >> >> > regards > >> >> > > >> >> > -Lucio Piccoli > >> >> > > >> >> > Director > >> >> > ------------------------------ > >> >> > www.asteriski.com > >> >> > > >> >> > >> > > >> > > >> > > >> > -- > >> > regards > >> > > >> > -Lucio Piccoli > >> > > >> > Director > >> > ------------------------------ > >> > www.asteriski.com > >> > > > > > > > > -- > > regards > > > > -Lucio Piccoli > > > > Director > > ------------------------------ > > www.asteriski.com > -- regards -Lucio Piccoli Director ------------------------------ www.asteriski.com