Hi,
I've noticed that if I click multiple times on a component that does a
submit then quite often I get an exception generated in the server.
The most obvious case for me is a table with a sortable header; if I
pretend to be impatient and click several times on the sort header then
usually I end up with an exception page.
I believe the cause is that the browser has submitted several concurrent
post requests to the server; multiple threads within the server then try
to run the view at the same time, and as view components are not
threadsafe all sorts of nasty side-effects occur. An example of a
non-threadsafe component is a UIData with session scope; it's got only
one rowIndex, so multiple threads trying to iterate over the rows in the
table is bound to result in something unpleasant.
How do people handle this? I can't force my users to go on a training
course about waiting for a page to complete before clicking again. And I
can't live with exception pages being rendered to them if they click too
quick.
Thanks,
Simon
- Handling multiple concurrent submits Simon Kitching
-