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

Mark Struberg commented on MYFACES-3104:
----------------------------------------

what would be the benefit of using the full JSF lifecycle for resources? There 
is no data which needs to be validated/converted/applied, etc. 

Btw I personally recommended to NOT use EL and other dynamic stuff in JSF 
resources! This is just painfully slow and erroneous.
Reason is that resources most likely get cached by browsers (default is 14 
days). So if you e.g. resolve the language via ln=.. it will only be evaluated 
at the first resource request. And if the user switches his language later on 
this change gets completely ignored.

You can use MyFaces shared ResourceHandler which treats JSF resources 
REST-fully and thus are fully cachable. This also introduces a version so you 
can upgrade your JavaScripts, CSS etc _without_ having to wait 14 days for all 
Clients to pick it up properly ;)

We discussed this with Ed quite some time ago and it got proposed to be fixed 
in JSF-2.2, but not sure if that issue made it to the final list...
                
> MyFaces 2 with EL 2.2 in Websphere 7
> ------------------------------------
>
>                 Key: MYFACES-3104
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3104
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 2.0.4
>         Environment: WebSphere Platform 7.0.0.13
> Host Operating System is Windows XP, version 5.1 build 2600 Service Pack 3
> Java version = 1.6.0, Java Compiler = j9jit24, Java VM name = IBM J9 VM
> Servlet API : 2.5
> JSP API : 2.1
>            Reporter: mansour
>         Attachments: MyFacesEL2Sample_was7.zip
>
>
> We have followed your documentation on the wiki in order to enable EL 2.2 
> (http://wiki.apache.org/myfaces/HowToEnableEl22), it doesn't work on 
> Websphere 7. 
> - we have added the 2 jars (el-api-2.2.jar and el-impl-2.2.jar from Glassfish 
> implementation) in th classpath of the web application
> - we have configured the web.xml like this :
>           <context-param>
>               <param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
>               <param-value>com.sun.el.ExpressionFactoryImpl</param-value>
>           </context-param>
>           [...]
>           <listener>
>               
> <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
>           </listener>
> The web application starts without errors,
> Problem :
> 1) When the web application starts we have this first exception :
> [04/04/11 11:24:39:136 CEST] 0000000a DefaultFacesC I   Reading standard 
> config META-INF/standard-faces-config.xml
> [04/04/11 11:24:39:277 CEST] 0000000a DefaultFacesC I   Reading config 
> /WEB-INF/faces-config.xml
> [04/04/11 11:24:39:823 CEST] 0000000a ExternalSpeci I   MyFaces Bean 
> Validation support disabled
> [04/04/11 11:24:39:855 CEST] 0000000a ApplicationIm I   Couldn't discover the 
> current project stage, using Production
> [04/04/11 11:24:39:855 CEST] 0000000a FacesConfigur I   Serialization 
> provider : class 
> org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
> [04/04/11 11:24:39:855 CEST] 0000000a DefaultLifecy I   Using 
> LifecycleProvider 
> org.apache.myfaces.config.annotation.AllAnnotationLifecycleProvider
> [04/04/11 11:24:39:933 CEST] 0000000a FfdcProvider  W 
> com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: Incident FFDC émis 
> sur 
> C:\IBM\SDP75\runtimes\base_v7\profiles\was70profile2\logs\ffdc\server1_48704870_11.04.04_11.24.39.8706071861720806063404.txt
>  com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated 1341
> [04/04/11 11:24:39:933 CEST] 0000000a webapp        E 
> com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: 
> Exception interceptée lors de l''initialisation du contexte : {0}
>                                  java.lang.VerifyError: 
> javax/servlet/jsp/JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V
>       at 
> org.apache.myfaces.webapp.Jsp21FacesInitializer.configureResolverForJSP(Jsp21FacesInitializer.java:123)
>       at 
> org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:77)
>       at 
> org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:126)
>       at 
> org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:111)
>       at 
> com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1681)
>       at 
> com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:374)
>       at 
> com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:299)
>       at 
> com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:100)
>       at 
> com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:166)
>       at 
> com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:731)
>       at 
> com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:616)
>       at 
> com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376)
>       at 
> com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)
>       at 
> com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1122)
>       at 
> com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1319)
>       at 
> com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:609)
>       at 
> com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:944)
>       at 
> com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:725)
>       at 
> com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2046)
>       at 
> com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:439)
>       at 
> com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
>       at 
> com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:382)
>       at 
> com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300(CompositionUnitMgrImpl.java:110)
>       at 
> com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:949)
>       at 
> com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
>       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
> 2) This second exception appears in the log :
> [04/04/11 11:24:53:436 CEST] 00000018 webapp        E 
> com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextDestroyed 
> SRVE0285E: Exception interceptée lors de la destruction du contexte : {0}
>                                  java.lang.IllegalStateException: No 
> Factories configured for this Application. This happens if the 
> faces-initialization does not work at all - make sure that you properly 
> include all configuration settings necessary for a basic faces application 
> and that all the necessary libs are included. Also check the logging output 
> of your web application and your container for any exceptions!
> If you did that and find nothing, the mistake might be due to the fact that 
> you use some special web-containers which do not support registering 
> context-listeners via TLD files and a context listener is not setup in your 
> web.xml.
> A typical config looks like this;
> <listener>
>   
> <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
> </listener>
>       at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:196)
>         [...]
> So can you tell us please how to configure EL 2.2 on Websphere 7 ?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to