Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.UnsupportedOperationException at javax.faces.context.FacesContext.isReleased(FacesContext.java:609)

I am integrating SWF 2.2.1,Primefaces 2.2.1,JSF 2,Spring Security 3,Spring 3.1.0M1. I am able to hit my first page mentioned in Spring web-flow xml, but getting following error.

com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/WEB-INF/flows/AccSrch/searchAccIns.xhtml]
java.lang.UnsupportedOperationException
at javax.faces.context.FacesContext.isReleased(FacesContext.java:609)
at com.sun.faces.context.PartialViewContextImpl.updateFacesContext(PartialViewContextImpl.java:468)
at com.sun.faces.context.PartialViewContextImpl.isAjaxRequest(PartialViewContextImpl.java:108)
at javax.faces.context.PartialViewContextWrapper.isAjaxRequest(PartialViewContextWrapper.java:117)
at javax.faces.component.UIViewRoot.getRendersChildren(UIViewRoot.java:1020)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1755)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at org.springframework.faces.webflow.FlowViewHandler.renderView(FlowViewHandler.java:99)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at org.springframework.faces.webflow.FlowLifecycle.render(FlowLifecycle.java:80)
at org.springframework.faces.webflow.JsfView.render(JsfView.java:90)

And to my surprise I only have minimal code in my .xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:p="http://primefaces.prime.com.tr/ui">
   <ui:define name="content">
      <f:view>
         <h:form id="expire" prependId="false">
            <h:outputText value="HEllo" />
         </h:form>
      </f:view>
   </ui:define>
</ui:composition>

Please see this post also for the context link

like image 911
C4CodeE4Exe Avatar asked Apr 11 '26 12:04

C4CodeE4Exe


1 Answers

Some facts:

  • According to the appearance of Tomcat specific classes in the stacktrace in your other question you're using Tomcat.
  • According to the appearance of the JSF 2.1 introduced FacesContext#isReleased() method in the stacktrace in your current question, you're using JSF 2.1.
  • According to the answer in your other question, you're probably using Mojarra 2.1.0.
  • Mojarra 2.1.0 does not work in Tomcat/Jetty due to a major mistake of accidently introducing Glassfish specific code in the annotation scanning implementation for containers which does not ship with builtin annotation scanners.

So, to solve this problem there are several options:

  • Downgrade to Mojarra 2.0.5.
  • Upgrade to Mojarra 2.1.1.
  • Replace Tomcat by Glassfish 3, JBoss AS 6 or something else.
like image 138
BalusC Avatar answered Apr 13 '26 02:04

BalusC



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!