AJAX queue


we have some long running task, which is done while opening a dialog. This causes dialog to open a lot of time and is not user friendly.
Idea now is to open dialog at once, and this long running task do in the background. I have implemented it, but then realized that all AJAX requests are serialized in CAF, so I am not able to do anything in parallel.

What is the reason for this approach? Is there some special JSF component I can use to do something really “in the background”?



  • Hidden (aka secondary, asynchronous, or ajax) request class.
  • Extends prototype.js’s {@link Ajax.Request}.
  • Adds functionality to {@link Ajax.Request} to allow requests to a faces portlet.
  • See the prototype.js documentation for {@link Ajax.Request}.
  • Allows the following additional options:
  • scope
    Scope of hidden requests that must be made serially to this one.

* All requests to a particular faces portlet instance must be made serially with regard to the instance.
* For such requests one should use the view root’s client id as the scope.