-
Bug
-
Resolution: Done
-
Major
-
None
-
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.
- clones
-
WFLY-8815 WeldApplication should extend ApplicationWrapper
- Closed