2 Replies Latest reply on Nov 5, 2009 4:36 AM by twolf

    a4j:status attribute for pointet to an non aj4 container

    twolf Newbie

      Hi,

      Sometimes we got the following Exception in our serverlog

      ...
      Caused by: javax.faces.FacesException: Target pointed Attribute for of AjaxStatus component with id j_id960 not is AjaxContainer
       org.ajax4jsf.component.UIAjaxStatus.getClientId(UIAjaxStatus.java:250)
       org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:66)
       org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
       org.ajax4jsf.application.TreeStructureNode.apply(TreeStructureNode.java:92)
       org.ajax4jsf.application.AjaxStateManager.getTreeStructureToSave(AjaxStateManager.java:187)
       org.ajax4jsf.application.AjaxStateManager.buildViewState(AjaxStateManager.java:498)
       org.ajax4jsf.application.AjaxStateManager.saveSerializedView(AjaxStateManager.java:451)
      ...
      
      


      But we cant figure out whats the problem. Some words to our usage of a4j:status.

      Every Page has an a4j:status component (we are using facelets, so our layout-template got it). This component does not define an for-attribute. we use this to track all ajax-requests.

      in two cases we got a4j:regions defined. To get the thinks working, i also defined two a4f:status with an for-attribute, pointed on theses regions.

      i have no idea why he sais that an for-attribute pointed to an non AjaxContainer because a4j:region is one right? To complete this, thats the way i defined the two a4j:status component for the two a4j:regions

      <aj4:status for="regionid" onstart="doThis" onstop="doThat" />
      <aj4:region id="regionid">
      ...
      </a4j:region>
      



      Greeting

      Tobias Wolf

        • 1. Re: a4j:status attribute for pointet to an non aj4 container
          Nick Belaevski Master

          Hi Tobias,

          This message means that region was not found. Maybe you've removed it from components tree or set transient?

          • 2. Re: a4j:status attribute for pointet to an non aj4 container
            twolf Newbie

            Hi,


            Maybe you've removed it from components tree or set transient?


            No, we do not remove the regions - also we got no transiant attributes defined on theses components or components related with the regions.

            We limited the number of views for performance issues, only two views are saved. Could to following scenario be possible?

            * the user kicks off the ajax-request, tracking has been startet
            * the action takes so much time that the users follows another link (he dont wait for the return), to another page - and maybe another page ...
            * the ajax request returns, but the component tree has changed - the region defined 2 views left is not in this tree

            Possible?


            Greetings

            Tobias