Я работаю над большой монолитной веб-системой Java, созданной на основе JSF 1.1 и Seam Framework, на сервере jBoss.
У меня есть базовый компонент JSF (с сохранением состояния по умолчанию в JSF), который внедряет компонент без сохранения состояния, используемый в качестве службы (и помеченный @Stateless). Служба без сохранения состояния имеет переменную-член экземпляра, объявленную как List и увеличенную методом.
Issue:
После обновления версии jBoss с 5.1 EAP до 7.0 указанная переменная (список) принимает значения из других запросов. Это создает ошибку в системе. Но переменная находится внутри службы без сохранения состояния. Почему это происходит? Что должно происходить в этой ситуации?
ps: у меня есть так много вещей, которые можно использовать для решения проблемы, но мне нужно понять, что происходит.
Редактировать: Pproblem решен, я работал с jBoss 5 и Seam Framework несколько лет. Я был смущен неправильным составом jBoss 5. После прочтения определения для Steteless Bean я очень хорошо понимаю, что происходит с моим кодом:
[Учебник по Java EE 1.4 1
После обновления до jBoss 7 пул bean-компонентов без сохранения состояния работает как положено, и системный код выдает ошибку из-за плохой реализации моей команды (bean-компоненты без сохранения состояния с таким большим количеством глобальных переменных). Когда пул jBoss начал работу, значения начали передаваться другим запросам.