Currently, if you have a non-ajax submit button, and any ajax controls, it could
be considered best practice to not mix the two - after all, the results could be
rather non-deterministic. Two simultaneous connections to the same view opens
up the possibility of hard to find threading issues in application code.
The current recommended solution is to change all submit buttons to be ajax'd...
This solves the problem by serializing the connections, but it would probably
also be useful if the JSF runtime detected this situation automatically, and
handled this automatically.
I'm not sure about this as an approach, but wanted to file it to not lose the idea.
One obvious problem with this is if the prior ajax request is long lasting, it
may not be desired behavior. Which means we'd be back to requiring the user to
be explicit in how they want things handled.
Still, it's worth considering.