2

I am trying to migrate my existing JSF 2.1 application running on JBoss AS 5.1.0 to JBoss EAP 6.4. I have added Mojarra jars from JBoss AS 5.1.0 and all other required jars as module dependencies in my jboss-deployment-structure.xml. When I try to start the Jboss EAP (standalone.bat). I am getting the following printed in log:

java.lang.UnsupportedOperationException at javax.faces.context.FacesContext.getExceptionHandler

The full stack trace is as follows:

18:09:38,658 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 54) Unsanitized stacktrace from failed start...: java.lang.UnsupportedOperationException
    at javax.faces.context.FacesContext.getExceptionHandler(FacesContext.java:280) [jsf-api.jar:2.1.1-FCS]
    at javax.faces.event.ExceptionQueuedEventContext.getListenersForEventClass(ExceptionQueuedEventContext.java:262) [jsf-api.jar:2.1.1-FCS]
    at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2077) [jsf-impl.jar:2.1.1-FCS]
    at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:286) [jsf-impl.jar:2.1.1-FCS]
    at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:244) [jsf-impl.jar:2.1.1-FCS]
    at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:302) [jsf-impl.jar:2.1.1-FCS]
    at com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:603) [jsf-impl.jar:2.1.1-FCS]
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:369) [jsf-impl.jar:2.1.1-FCS]
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) [jsf-impl.jar:2.1.1-FCS]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3780) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
    at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:163) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:61) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) [rt.jar:1.6.0_45]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [rt.jar:1.6.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) [rt.jar:1.6.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_45]
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122)

what am I missing out here? Please help

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
Shark
  • 21
  • 3
  • 2
    This exception suggests classpath pollution with multiple different versioned JSF libraries. Cleanup and make sure you provide only one (and keep in mind that JBoss by default already provides its own JSF library). – BalusC May 19 '16 at 13:23
  • I have already removed the **jsf-impl.jar** and **jsf-api.jar** from WEB-INF/lib folder and added the dependency in jboss-deployment-structure.xml. Still no luck! :( – Shark May 19 '16 at 17:36
  • or do you suggest to add the jars in WEB-INF/lib of my war file and add exclusions for the Jboss modules in my jboss-deployment-structure.xml? – Shark May 19 '16 at 18:13
  • if your code is using the old JSF jars, then yes, add jars in WEB-INF/lib and add exclusions in jboss-deployment-structure.xml . JBoss EAP 6.4 would include the latest JSF jars which i am assuming you wouldn't want. – Sampada May 20 '16 at 05:11

0 Answers0