EJBで構築したアプリケーションをWebOTX上で動作させています。
ステートレスセッションBeanを使用しておりますが、他メソッドを跨る処理について、先に呼び出されるメソッドで設定されたprivate変数の値が次に呼び出されるメソッドでは変更されてしまう、という現象が起きています。
EJB仕様通りの動作です。
ステートレスセッションBeanは文字通り状態を持たないセッションBeanです。
状態を持たないので、あるインスタンスが特定のクライアントに紐付けられることはありません。
そのためリモートメソッド呼び出しのたびに、コンテナはインスタンスを変更することが可能です。
第一のメソッド呼び出しと第二のメソッド呼び出しの間でインスタンスが変更されるとこのようなことが起こります。
第一のメソッド呼び出しの結果を第二のメソッド呼び出しに反映させるようなビジネスロジックに対しては、
ステートフルセッションBeanで設計する必要があります。
【対象製品】Application Server
【確認済みのバージョン】すべて
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】EJB
【カテゴリー】トラブルシューティング