ICEfaces
  1. ICEfaces
  2. ICE-1734

Seam Ajax Push with JSF 1.2 throws Exceptions

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#5
    • Fix Version/s: 1.6DR#6, 1.6
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Seam 1.2.1, JSF 1.2

      Description


      Each time a server-side render is initiated, the following Exception is thrown.

      10:42:57,522 ERROR [SeamPhaseListener] uncaught exception
      java.lang.IllegalStateException: No active application scope
      at org.jboss.seam.core.Init.instance(Init.java:88)
      at org.jboss.seam.jsf.TransactionalSeamPhaseListener.handleTransactionsBeforePhase(TransactionalSeamPhaseListener.java:25)
      at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:48)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:222)
      at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
      at com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:144)
      at com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:126)
      at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
      at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
      at java.lang.Thread.run(Unknown Source)

        Activity

        Hide
        Ted Goddard added a comment -

        This is due to the fact that under JSF 1.2, facesContext.renderResponse() causes all phase listeners to be skipped (unlike JSF 1.1). The phase listeners are necessary during Ajax Push to set up the Seam contexts.

        The intended fix is to no longer flag the server side execution with renderResponse(), but to clear the parameter map so that the server-side render has no application-level side-effects.

        Show
        Ted Goddard added a comment - This is due to the fact that under JSF 1.2, facesContext.renderResponse() causes all phase listeners to be skipped (unlike JSF 1.1). The phase listeners are necessary during Ajax Push to set up the Seam contexts. The intended fix is to no longer flag the server side execution with renderResponse(), but to clear the parameter map so that the server-side render has no application-level side-effects.
        Hide
        Ted Goddard added a comment -

        Please verify the fix.

        Show
        Ted Goddard added a comment - Please verify the fix.
        Hide
        Judy Guglielmin added a comment -

        Fixed and works well with both seam1.2.1.GA and seam2.0.0.Beta1 (also had tested it with seam1.3.0.alpha but it has been superseded by seam2.0.0.Beta1).

        Show
        Judy Guglielmin added a comment - Fixed and works well with both seam1.2.1.GA and seam2.0.0.Beta1 (also had tested it with seam1.3.0.alpha but it has been superseded by seam2.0.0.Beta1).

          People

          • Assignee:
            Unassigned
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: