Web層では、特定のサーブレットのインスタンスが1つしか存在せず、複数のリクエストを処理する可能性があることは誰もが知っています。これにより、インスタンス変数でスレッドの問題が発生する可能性があります。
私の質問は、 @EJB アノテーションを使用してインスタンス変数としてサーブレットに EJB を注入しても安全ですか?
EJB の同じインスタンスが同時に複数の要求を処理するという仮定の下では、私の最初の本能は「いいえ」です。これは、他の多くのプログラマーの本能でもあるようです:サーブレットに注入しないでください
しかし、私は間違った結論に飛びつきました。明らかに、サーブレットに挿入されるのはプロキシです。コンテナは実際に各リクエストを異なるインスタンスで処理し、スレッド セーフを維持しますか? このフォーラムが示唆するように: Do inject to servlets
賛否両論あるようです。どちらが正しい???