Glassfish サーバー (単純なショッピング カート) で最初の EJB を試しています。各 HTTP セッションに CartBean を使用するつもりでした。私のカートビーンがフォローしている場合-
public interface CartLocal {
public void addItem(String item);
public void removeItem(String item);
}
@Stateful
public class CartBean implements CartLocal {
List<String> item = new java.util.ArrayList<String>();
public void addItem(String item) {
....
}
public void removeItem(String item) {
....
}
}
上記のステートフル セッション Bean を Web サーブレット クライアントで使用して、新しい HTTP セッションごとに新しいステートフル セッション Bean を取得する必要があります。そのため、1 人のユーザーに対して 1 つのショッピング カートが存在します。サーブレットでのセッション Bean の使用に関する私の理解が間違っているのか、それとも以下のコードが間違っているのでしょうか。これにより、すべてのユーザーに対して 1 つのステートフル セッション Bean が作成されます。
@EJB CartLocal cart;
protected void doGet(....) throws IOException...... {
cart.addItem(....);
}