The spec only speaks of serializing access to the conversation scope. I assume the same will be done for Seam 3 with (hopefully) portable extensions/filters/other magic.
Seam will serialize concurrent requests made to CONVERSATION scope or SESSION scoped beans.
Where did you find/see the above quote? I was under the impression that for Seam 2.x, serialization for concurrent requests are limited to CONVERSATION scope only...
Seam serializes access to the same conversation and will abort the request if it has to wait too long to get a lock on the conversation.
4.1.10 of 2.2.0 docs:
Seam serializes requests to session scope session beans and JavaBeans by default (and detects and breaks any deadlocks that occur).
Concurrent requests to session-scoped JavaBeans are always serialized by Seam.
You're right, the example code could probably do with a couple of synchronized modifiers.