Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-8815

WeldApplication should extend ApplicationWrapper

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 11.0.0.Beta1
    • 10.1.0.Final
    • CDI / Weld
    • None

      When upgrading WildFly 10.x to JSF 2.3, then running a web application using any JSF library having a custom javax.faces.application.Application will result in an UnsupportedOperationException during startup.

      Caused by: java.lang.UnsupportedOperationException
      	at javax.faces.application.Application.getSearchExpressionHandler(Application.java:2001)
      	at javax.faces.application.ApplicationWrapper.getSearchExpressionHandler(ApplicationWrapper.java:815)
      	at com.sun.faces.config.processor.ApplicationConfigProcessor.setSearchExpressionHandler(ApplicationConfigProcessor.java:738)
      	at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:382)
      	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:155)
      	at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:138)
      	at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:155)
      	at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:246)
      	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:443)
      	... 20 more
      
      

      This is reported a.o. here http://stackoverflow.com/questions/44076148/why-is-jsf-2-3-not-working-with-omnifaces-2-6-1

      This problem has the same grounds as reported in a.o. https://github.com/omnifaces/omnifaces/issues/75 and https://issues.jboss.org/browse/WELD-1805

      Root problem is: org.jboss.as.jsf.injection.weld.WeldApplication does not extend from JSF's own javax.faces.application.ApplicationWrapper having all necessary default methods implemented. Instead, it extends from a custom org.jboss.as.jsf.injection.weld.ForwardingApplication with only JSF 2.2 specific default methods hardcoded instead of relying on API-provided ones.

      Solution: let WeldApplication extend from ApplicationWrapper instead.

              sdouglas1@redhat.com Stuart Douglas (Inactive)
              balusc@gmail.com Bauke Scholtz (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: