Для bean-компонентов без сохранения состояния иметь единственный экземпляр ("singleton") можно:
@Component
public class MyManager {
public void doStuff();
}
Любое количество клиентов (браузеров) может вызывать doStuff()
, не влияя друг на друга, пока doStuff()
не управляет состоянием.
Для bean-компонентов с состоянием, которые управляют состоянием пользователя, вы можете использовать bean-объекты сессионной области :
@SessionScope
@Component
public class UserPreferences {
private String username;
public setUsername(String username) {
this.username = username;
}
//...
}
Компонент UserPreferences
создается один разза сеанс HTTP.Следовательно, каждый клиент (браузер) получает свой собственный объект.
В обоих случаях один клиент (браузер) не должен ждать завершения обработки для других клиентов.