powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Синхронизация доступа к сервлету в Томкэте
4 сообщений из 4, страница 1 из 1
Синхронизация доступа к сервлету в Томкэте
    #33425932
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знатокам Томката вопрос:

У меня есть сервлет, я решил проверить сколько раз он выполняется при одновременном доступе к нему большого числа юзеров. Для этого написал в конце метода service() сервлета код счётчика, который храню в контексте сервлета и вывожу в лог Томкэта:

int counter = 1;
if (getServletContext().getAttribute("counter") != null) {
counter = ((Integer)getServletContext().getAttribute("counter")).intValue() + 1;
}
getServletContext().setAttribute("counter", new Integer(counter));
System.out.println(counter);

т.е. когда 1-ы раз выполнится сервлет, то счётчик станет = 1, во 2-ой раз его значение возьмётся из контекста и увеличится на 1-цу и т.д., в итоге мы получим в самый последний раз общее количество вызовов сервлета.

Меня волнует вопрос: есть ли синхранизация доступа к сервлету, т.е. не будет так если, допустим, одновременно 2-а юзера обращаются к сервлету, берут из его контекста значение счётчика и оба одновременно пытаются увеличить это значение, то оно увеличится только один раз, а не два? Ставит ли одновременно пришедших юзеров Томкэт в очередь на ресурс контекста?
...
Рейтинг: 0 / 0
Синхронизация доступа к сервлету в Томкэте
    #33425987
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
храни счетчик как private static сервлета и при изменении делай
Код: plaintext
1.
2.
3.
synchronized {
   counter++;
}
-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Синхронизация доступа к сервлету в Томкэте
    #33426092
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это понятно, что так можно сделать, но интересно именно как Томкэт с контекстом сервлета работает. Синхронизирует ли он многопользовательский доступ?
...
Рейтинг: 0 / 0
Синхронизация доступа к сервлету в Томкэте
    #33426153
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
verterСинхронизирует ли он многопользовательский доступ?

А вы сами понимаете, о чем спрашиваете?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Синхронизация доступа к сервлету в Томкэте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]