Stateful Sessions не всегда хороший выбор, иногда проще использовать постоянство в БД.
В сервлете, обрабатывая запрос от пользователя, получите «дескриптор» вашей SFSB. Поместите эту «ручку» в вашу HttpSession. Теперь, когда приходит следующий запрос для этого пользователя, у вас есть готовый дескриптор.
С EJB 3.0 сделайте это так.
Объявите ссылку на bean-компонент с помощью @EJB в области видимости, это установит ссылку, которую вы будете использовать позже
@EJB
(name=“CounterBean", beanInterface=Counter.class)
public class MyStarterServlet …
Когда вы обрабатываете запрос: обращайтесь к EJB, используя JNDI и объявленное имя компонента, обратите внимание, что этот код находится в вашем методе doGet () и / или doPost (), переменная "counter" должна быть локальной (в стеке ), поскольку объект сервлета распределяется между большим количеством запросов одновременно.
Context ctx = new InitialContext();
Counter counter = (Counter)
ctx.lookup(“java:comp/env/CounterBean”);
counter.increment();
Сохранение интерфейса в объекте HttpSession для извлечения при необходимости
session.setAttribute(“counter”, counter);