JSF是否可以进行将同时执行的ajax调用(在开始新的调用之前不等待先前的调用完成)?
不,它们被规范明确地排队,没有任何例外。参见JSF 2规范的第13.3.2章:
13.3.2 Ajax请求队列 在将所有Ajax请求发送到服务器之前,必须将它们放入客户端请求队列中,以确保按发送顺序处理Ajax请求。在队列中等待时间最长的请求是下一个要发送的请求。发送请求后,Ajax请求回调函数必须从队列中删除该请求(也称为出队)。如果请求成功完成,则必须将其从队列中删除。如果发生错误,则必须通知客户端,但仍必须从队列中删除该请求,以便可以发送下一个请求。必须发送下一个请求(队列中最旧的请求)。jsf.ajax.request 有关Ajax请求队列的更多详细信息,请参考JavaScript文档。
在将所有Ajax请求发送到服务器之前,必须将它们放入客户端请求队列中,以确保按发送顺序处理Ajax请求。在队列中等待时间最长的请求是下一个要发送的请求。发送请求后,Ajax请求回调函数必须从队列中删除该请求(也称为出队)。如果请求成功完成,则必须将其从队列中删除。如果发生错误,则必须通知客户端,但仍必须从队列中删除该请求,以便可以发送下一个请求。必须发送下一个请求(队列中最旧的请求)。jsf.ajax.request 有关Ajax请求队列的更多详细信息,请参考JavaScript文档。
jsf.ajax.request
这样做是为了确保服务器端除其他视图作用域的bean之外的线程安全。