Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3104

MyFaces 2 with EL 2.2 in Websphere 7

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Workaround
    • Affects Version/s: 2.0.4
    • Fix Version/s: None
    • Component/s: General
    • Labels:
      None
    • 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

      Description

      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 ?

        Attachments

        1. MyFacesEL2Sample_was7.zip
          3.29 MB
          mansour

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                mansour91 mansour
              • Votes:
                1 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: