С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 23

Количество инстансов сервлета.

07.05.2012, 15:42. Показов 5093. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Парни и девчонки,
а объясните мне, пожалуйста, сколько экземпляров сервлета живет в контейнере.
Я раньше думал, что их кол-во определяется значением load-on-startup и вообще достаточно одного экземпляра.
Создает ли контейнер новые экземпляры если приходит много запросов от пользователей? Я думал что нет, сервлет не тред сейфный, его инстанс обслуживает одновременно несколько запросов. Сегодня мне намекнули ;-) что я не прав.
Объясните, плз, какая логика создания экземпляров сервлета, определяется это конкретной имплементацией контейнера или спецификацией на сервлеты или киньте ссылкой, если есть.
(Про интерфйс SinglThreadModel и как он работает я в курсе)


Спасибо всем заранее !!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.05.2012, 15:42
Ответы с готовыми решениями:

Ограничение инстансов Swing окон
Добрый день, уважаемые коллеги :senor: Не подскажите, как в Swing ограничить кол-во создаваемых инстансов окон, например до 5? ...

Создание инстансов
Что для компилятора значат фразы: 1) создать экземпляр класса пример std::vector<int>{}; 2) создать экземпляр...

Закрыть один из инстансов
Есть программа, которая запускает процесс по processSW =...

5
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 23
07.05.2012, 23:46  [ТС]
Ок, про load-on-sturtup я понял свою ошибку. Этот параметер определяет последовательность загрузки сервлетов. А вот про кол-во экземпляров сервлета вопрос остался открытым.
0
3 / 3 / 3
Регистрация: 09.07.2008
Сообщений: 422
09.05.2012, 12:58

load-on-startup используется для указания очередности инициализации экземпляров различных сервлетов при инициализации контейнера. Если значение load-on-startup не указано, то экземпляр сервлета будет создан при первом к нему обращении.

Будет ли использоваться один экземпляр сервлета для всех запросов или для каждого запроса будет создан отдельный экземпляр, определяется реализацией интерфейса SingleThreadModel. Если сервлет реализует интерфейс SingleThreadModel (public class MyServlet extends HttpServlet implements SingleThreadModel), то для всех запросов будет использован единый экземпляр. Соответственно, если не реализует - то для каждого запроса будет создан отдельный экземпляр сервлета.
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 23
09.05.2012, 13:48  [ТС]
Спасибо за ответ.
про load-on-startup согласен, о чем и написал выше.

Про SingleThreadModel не согласен.
Пока ждал ответа почитал инет по этому поводу и освежил свои знания.
Вобщем, пока что я остаюсь при своем мнении, что сервлет имеет один экземпляр на зарегестрированное имя если сервлет не реализуе SingleThreadModel интерфейс. Т.е. запросы конкурентно выполняют service() в своем потоке.
SingleThreadModel обеспечивает, что сервлет будет выполняться одним потоком в момент времени. При чем, будет ли это пул экземпляров сервлета или все запросы выстроятся в очередь к одному экземпляру зависит от имплементации контейнера.

Если у кого есть линк где описывается другая модель, то с интересом почитал бы.

0
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
11.05.2012, 18:21
Вобщем, пока что я остаюсь при своем мнении, что сервлет имеет один экземпляр на зарегестрированное имя если сервлет не реализуе SingleThreadModel интерфейс
Вы правы. Более того, использование SingleThreadModel уже давно признано неоправданным.

запросы конкурентно выполняют service() в своем потоке
Запросы просто одновременно обрабатываются в своих потоках. "конкуренция" будет, если вы поставите блок synchronized в тело метода или засинхронизируете сам метод.
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 23
13.05.2012, 13:16  [ТС]
Цитата Сообщение от mselez
Запросы просто одновременно обрабатываются в своих потоках. "конкуренция" будет, если вы поставите блок synchronized в тело метода или засинхронизируете сам метод.
Именно это я и имел ввииду. Конкурентно -> параллельно.
Спасибо, развеяли мои сомнения окончательно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.05.2012, 13:16
Помогаю со студенческими работами здесь

Получить список инстансов через рефлексию
Добрый вечер, подскажите пжл, как получить список всех инстансов (объектов) которые реализуют определенный класс или интерфейс? Получить...

Сконфигурировать переменные окружения для одного пользователя и разных инстансов Oracle
Привет всем! Мне необходимо для одного пользователя дать доступ на 2 разные базы Oracle, установленные на одном linux сервере. Я...

Создание сервлета
Всем привет Взял самый обычный сервлет, такой: import javax.servlet.*;

Создание сервлета
Чтобы создать сервлет мы наследуемся от HttpServlet и реализовываем doGet либо doPost. Также есть жизненный цикл сервлета, init(),...

Запуск сервлета
Доброе время суток. NetBeance ругается на import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru