![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Flashed |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 3.6.2010 Репутация: нет Всего: 1 |
Если в файле контекста сервлета *-servlet.xml объявлять контроллер таким способом:
То сколько объектов класса myController будет создано в контейнере, и как Spring передаст им управление при запросах, к примеру если 2 или более пользователей посылают запрос, активирующий контроллер myController? |
|||
|
||||
Ccoder |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 15.2.2011 Репутация: нет Всего: нет |
Будет создан один единственный экземпляр.
Активируется он при первом запросе, либо можно указать самому когда т.е.
Это сообщение отредактировал(а) Ccoder - 5.4.2012, 09:12 |
|||
|
||||
werdy |
|
|||
![]() Опытный Профиль Группа: Участник Сообщений: 38 Регистрация: 15.3.2007 Где: Новокузнецк Репутация: 1 Всего: 1 |
Создается один экземпляр, все пользователи будут пользоватся созданным контроллером.
|
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 3 Всего: 48 |
Цикл жизни бина-контроллера точно такой же, как и обычного спрингового бина.
Сервлет будет создан только один - спринговый диспатчер. |
|||
|
||||
Flashed |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 3.6.2010 Репутация: нет Всего: 1 |
Интересно, а как его тогда "делят пользователи"?. каждый раз блокируется новый поток с запросом, пока не завершается предыдущий?
|
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 3 Всего: 48 |
||||
|
||||
Flashed |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 3.6.2010 Репутация: нет Всего: 1 |
Так если экземпляр контроллера всего 1, как его одновременно могут использовать к примеру 5 потоков из пула?
|
|||
|
||||
jk1 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1168 Регистрация: 17.10.2008 Где: Санкт-Петербург Репутация: 5 Всего: 75 |
Легко и не напрягась. Один метод одновременно может исполнятся любым количеством потоков, если Вы конечно не будете явно его синхронизировать. По поводу количества бинов: для спрингового бина определяется scope, который может принимать несколько значений: 1. Singleton, один экземпляр на контейнер, оно же значение по умолчанию 2. Prototype, будет создаваться новый бин при каждом обращении в контекст 3. Session, создается один бин в на сессию 4. Request, создается один бин на http-запрос 5. Global session, один бин на глобальную сессию для портлетного контекста Понятно, что последние три имеют смысл только в контексте веб-приложения. При желании к спринговому контейнеру можно добавить пулинг бинов как в EJB, делается это конфигурироанием пары аспектов. -------------------- Opinions are like assholes — everybody has one |
|||
|
||||
Flashed |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 3.6.2010 Репутация: нет Всего: 1 |
Спасибо за ответы. А то мучал вопрос о том, как правильно проектироать приложение.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |