@Apx
Java/JavaEE/Javascript developer

Вопрос про @Stateless бины?

Доброго времени суток.

Сидел дебажил своё каркасное приложение и наткнулся на следующую проблему.

Есть код:
@Stateless
@LocalBean
public class BasicDAO implements Serializable, IBasicDao {

	private static final long serialVersionUID = 4102542574230571583L;
	@PersistenceContext
	protected EntityManager em;
...


Собственно stateless wrapper энтити менеджера.

Есть @SessionScoped и @ViewScoped бины в которые я делаю инъекцию этого ДАО.

Пока дебажил заметил такую вещь, что на разных компьютерах, для разных пользователей этот объект один и тот же. Это казалось бы нормальным поведением, но даже на длительных операциях с базой объект один и тот же, хотя если верить докам, то если ресурс уже участвует в транзакции, то при параллельном вызове, мне должен прилететь новый инстанс объекта из контейнера. Это баг jboss as 7? или я что то не так сделал? Просто ранее в проекте мы тоже столкнулись с тем, что стейтлесс бин шарился между всеми пользователями, и поэтому у нас не работал нормально аякс, потому что когда два пользователя начинали работу, то один мог видеть данные другого.
  • Вопрос задан
  • 3621 просмотр
Пригласить эксперта
Ответы на вопрос 2
@mayorovp
А вы вообще в курсе, как переводится Stateless?
Если у вас возникают проблемы со смешиванием данных различных пользователей, то ваш бин де-факто stateless не является.
Ответ написан
@1nd1go
Это какие доки так говорят? Вообще стейтлейс бин, на сколько я помню по спеке, достается из пула. Вполне возможно, что ваш jboss сконфигурен на начальное количество 1, и при дев окружении больше не создается.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы