5.5.3. Queue Principles Starting from 3.3.0 version RichFaces has an improved queue. There are some reasons why the queue has been improved. In previous versions the queue had quite simple implementation: it sent to the server only the last Ajax request out of all requests coming in the queue during request delay. The improved queue allows to * Eliminate the possibility of collisions when several JSF requests pass the JSF lifecycle at the same time. The queue prevents sending such requests. Only one request is processed. The rest ones are waiting. * Reduce the traffic between browser and the server. The "similar" requests came within request delay are absorbed. Only the last one is actually sent. Reducing the number of request reduces the server load. There are 4 types of the queue: * Global default queue, defined in the web.xml file * View scoped default queue * View scoped named queue * Form-based default queue
I actually use the following config in my current app and there have been no negative consequences that we've detected:
Global default queue has application scope and is defined in the web.xml It can be done as follows: ... <context-param> <param-name>org.richfaces.queue.global.enabled</param-name> <param-value>true</param-value> </context-param> ... The global default queue is disabled by default, because artificial serializing of all Ajax requests on a page can significantly affect expected behavior.
JBalunas created a JIRA to have a better explanation of that last statement, I wasn't quite sure exactly what that means....
Thanks Arbi for you reply, I think your solution is the nearest applicable solution for this problem. I have applied it beside using <a4j:jsFunction> to reduce the Form submission and Response size.
Both of them (reduce response size by eliminating the undesired reRender controls, and using queue) solves this Excpetion.
I hope this topic helps others to find the solution. :)
event queue works perfectly for me. Unfortunately Seam's remoting doesn't have this concept! There are certain things I want to use remoting instead of A4J because it's faster, but at the risk of concerrency problem with conversations