Seam Cocurrency Model

EJBサーブレットではマルチスレッド対応のコードはアプリケーション側で対応することが前提なので、その意味では少しも便利ではありませんでした。

Seamでは、Conversationはシングルスレッドでアクセスすることを保証してくれます。だから、Conversation上の変数の読み書きに関し排他制御を考慮する必要はありません。自分との話相手とのやり取りだけを意識すれば良い、というのがConversationの大きなメリットです。

Seam enforces a single thread per conversation per process model for the conversation context by serializing concurrent requests in the same long-running conversation context.

一方、Sessionはマルチスレッドアクセスなので、コンテキスト上では同時に複数のスレッドが読み書きを行う可能性があるため注意が必要ですが、SeamはSessionスコープのBeanに対してはリクエストのシリアライズをしてくれるようです。

Seam serializes requests to session scope session beans and JavaBeans by default.