Speaking of the spec, there is a reason why the requests are serialized, you simply cannot do it without loosing the viewstate over time for the long running request. The best bet to workaround this issue is to offload the long running request to something outside of JSF Servlet/Restful service whatever.

Another solution would be to trigger a short running request which in the backend triggers a background operation which you can poll for being finished. That would work within the limits of the JSF spec.



Werner



Am 30.03.12 08:46, schrieb Michael Heinen:
Hi Milo,

are you really 100% sure that this is possible with JSF 2.1 and
Richfaces 4.2?
Did you verify that the requests are in parallel via logging or breakpoins?

I tried a few combinations of the richfaces queues which were not
working in parallel.
Afaik the richfaces queues are on top of the JSF queue.
Nick Baleavski from Richfaces said this also (07/2011):
https://community.jboss.org/message/614023#614023
"JSF 2 does not allow parallel AJAX requests, they are all being queued
and then sent in the serial order."

Another comment from Richfaces discussions, looking for concurrent
requests: https://community.jboss.org/message/648601#648601


For me this seems to be a major regression in JSF!
It does support "jax" now but no "Ajax"!
Could anybody explain this to me? It worked well with JSF 1.2.

Now I have to start new threads manually in a web container, which I
really don't like.
And the migration to another JSF version is again not estimable at all.

vG
Michael



Am 29.03.2012 15:45, schrieb Milo van der Zee:
Hello Michael,

in RichFaces you could add multiple queues and they won't wait for
eachother.

MAG,
Milo van der Zee


On Thu, 2012-03-29 at 15:30 +0200, Michael Heinen wrote:
Hi all,

I'm still converting my application (mayfaces, tomahawk and richfaces)
from JSF 1.2 to 2.1.

Now I noticed that parallel ajax requests are not working at all!
E.g. a long running request which calculates something and parallel poll
requests to fetch status or partial results until the first request is
finished.

I stumbled over Werner's Blog (at
http://werpublogs.blogspot.de/2011/07/apache-myfaces-jsfjs-queue-control.html)

which contains following statement:
"The official spec enforces following behavior: if you submit an Ajax
post it is either sent directly if no other submit is running or
enqueued until the running ajax submit has terminated and then the
submit is issued."

Question:
Are there any workarounds to allow parallel requests?
Or do I have to start new threads manually in my backing beans, which I
really do not like?

Is there something like a migration guide available?
I read many documents and ppts about JSF 2 but never read anything about
this new queing so far.

Michael








Reply via email to