Vincent, yes, I understand your patch better now :) So, I want to understand better what
you guys *want* the behaviour to be.
I've attempted to summarise the current behaviour:
Each received ajax request is processed by Seam in serial. If concurrent calls occur,
Seam queues the action event for a period of time (the concurrent request timeout), if it
can't process the event within that period it aborts the call and prints out a
FacesMessage telling us this. You can adjust the concurrent request timeout globally
(through components.xml) or on a request by request basis (through
Manager.instance().setConcurrentRequestTimeout();) - and obviously you can queue etc.
events on the client side through a4j.
So, Seam has the equivalent of both eventsQueue (always on) and requestDelay (perhaps hard
to set on a request by request basis), it doesn't have an equivalent of
ignoreDupRequests.
Now, my parallel processing stuff is a bit rusty, but looking at ReentrantLock, and at
Vincent's patch, I think it, is the equivalent of setting an infinitely long
concurrentRequestTimeout - so that requests are delayed indefinitely until they can be
scheduled.
So - what can we do to make this better?
1) Document this (much) better based on discussions in this thread
2) Make it easier to set the concurrentRequestTimeout on an action by action basis e.g.
@ConcurentRequestTime(5000)
| public void doSomething() {}
3) Provide something equivalent to ignoreDupRequests (so that multiple concurrent calls to
the same method can be discarded).
4) Make it easier to disable the warning message on a per request basis - it really means
one thing if your conversation times out as you were idle (in this case you want something
like "Sorry, you were idle too long and your workspace has been lost") and
something completely different if you have a concurrent request timeout ("Sorry, you
are swamping the server, please slow down!")
Comments welcome :)
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4080637#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...