Wicket: concurrent Ajax requests limited to one? Wicket: concurrent Ajax requests limited to one? ajax ajax

Wicket: concurrent Ajax requests limited to one?


Yes, concurrent requests to a page instance are limited to one. Wicket Ajax will queue subsequent Ajax requests in the client side channel. See the wicket Ajax debugger for details in your running application.

This is done to make building your application easier: no need to work around concurrency issues on the server. Page access is always one done from one single thread: the current active request thread. If we didn't do this, we would have to synchronize on the component tree and make the whole programming model go yuk.


The problem was our AjaxIndicator which overlays a DIV over the entire page for the duration of each Ajax request. The "mouseup" (and consequently "click") events arrived when the overlay was in place, and thus lost. By holding the mouse button down and releasing it after the first Ajax request had completed and overlaying DIV removed, the second ajax request was fired.

It seems obvious now as the whole reason why we have such an overlay is to prevent users clicking while an Ajax request is running.

I think my solution will be to disable the ajax indicator on certain, very quick requests such as these where it makes no sense to have an indicator (disregarding the potential that requests could take much longer in case of unusually high server load).


May be the response of the onblur ajax request may have error or the process you are performing after the ajax response may have error.

If possible can you paste the code sniplet.