powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Многопоточность внутри сервлетов. Помогите что использовать
53 сообщений из 53, показаны все 3 страниц
Многопоточность внутри сервлетов. Помогите что использовать
    #39064747
sce
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет, подскажите какой подход будет правильным

Есть сервлет который возвращает некоторый общий результат проверок. При вызове сервлета, сервлет делает много последовательных проверок которые занимают определенное время не зависящее от сервлета (для примера дожидается ответа от другого сервера).

Я хочу сделать чтобы все проверки были параллельными, тем самым уменьшив общее время проверки. Т.е сделать многопоточность внутри сервлета.

Посоветуйте как лучше поступить с такой задачей? Что использовать и т.д? Вообще это правильный подход или нет.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39064793
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sceВсем привет, подскажите какой подход будет правильным

Есть сервлет который возвращает некоторый общий результат проверок. При вызове сервлета, сервлет делает много последовательных проверок которые занимают определенное время не зависящее от сервлета (для примера дожидается ответа от другого сервера).

Я хочу сделать чтобы все проверки были параллельными, тем самым уменьшив общее время проверки. Т.е сделать многопоточность внутри сервлета.

Посоветуйте как лучше поступить с такой задачей? Что использовать и т.д? Вообще это правильный подход или нет.

Подход нормальный.
Можно воспользоваться стандартным механизмом создания потоков и в них делать проверку.
Можно воспользоваться EJB-ным асинхронным вызовом ч/з Future.

Так или иначе придется где-то в цикле ждать, пока все проверки пройдут.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39064800
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sce,
Можно взять 4 сервлета и 4 ajax вызова. ...без потоков. Зачем ты сделал 1 тяжёлый.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39064935
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123sce,
Можно взять 4 сервлета и 4 ajax вызова. ...без потоков. Зачем ты сделал 1 тяжёлый.
+1
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39064980
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulМожно воспользоваться стандартным механизмом создания потоков и в них делать проверку.

Это которым? Хочу заметить что запуск новых потоков из JEE приложения чревато утечками PermGen/Metaspace. Нужно использовать средства контейнера для того чтобы он выделял потоки под задачи приложения.

mad_nazgulМожно воспользоваться EJB-ным асинхронным вызовом ч/з Future.
Так или иначе придется где-то в цикле ждать, пока все проверки пройдут.
Можно и асинхронный сервлет прикрутить. Но мне кажется, что вынести на клиента, как посоветовал Petro123 будет проще.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065059
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМожно и асинхронный сервлет прикрутить. Но мне кажется, что вынести на клиента, как посоветовал Petro123 будет проще.

Нет. Можно для каждой проверки делать свой асинхронный бин (@Asyncronus), который в методе возвращает Future<Чего-то там>.
В сервлете их проинжектить.
Потом в обработчике вызвать.
А после в цикле проверять .isDone() у Future<Чего-то там>.

Это если решать "в лоб".

А так да, можно воспользоваться асинхронностью на клиенте.
Только потом калбекам собирать все проверки я себе не представляю.
Особенно если одна проверка будет несколько миллисекунд, а другая несколько секунд.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065072
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЭто которым? Хочу заметить что запуск новых потоков из JEE приложения чревато утечками PermGen/Metaspace. Нужно использовать средства контейнера для того чтобы он выделял потоки под задачи приложения.

Можете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065083
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmBlazkowiczЭто которым? Хочу заметить что запуск новых потоков из JEE приложения чревато утечками PermGen/Metaspace. Нужно использовать средства контейнера для того чтобы он выделял потоки под задачи приложения.

Можете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск?

если вызывать shutdown то риска нет. Проблемы происходят только если запускать через Thread.start или когда забыли закрыть exsecutor
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065098
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, почти все известные библиотеки работая в контейнере внутри используют многопоточностьи проблем вроде бы не возникает.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065104
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmМожете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск?
Возможно когда-нибудь исправят, но, как минимум в 7ке, если ты запускаешь новый поток, то ссылка на его context classloader оседает где-то во внутренностях Java и этот ClassLoader в JEE контейнере больше не соберется.
Проблема не решается даже если поток завершен и свободен для GC. Можно обойти подменой ClassLoader-а перед запуском потока.

Но правильнее использовать средства контейнера, и потоки порожденные им.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065105
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никесли вызывать shutdown то риска нет. Проблемы происходят только если запускать через Thread.start или когда забыли закрыть exsecutor
Нет, shutdown не решает проблемы:
http://rsdn.ru/forum/java/5974292.1
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065112
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmзабыл ник, почти все известные библиотеки работая в контейнере внутри используют многопоточностьи проблем вроде бы не возникает.
Это странный какой-то пассаж. Много ли библиотек плодят потоки? Я знаю парочку. И при их использовании всегда происходит утечка в permgen, и пользователи просят разработчиков таки добавить статические методы для того чтобы пришивать эти потоки и освобождать связанные с ними ресурсы.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065114
twr143
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sce,

создайте четыре очереди и используйте механизм поллинга из веб модуля приложения для периодического запроса итогов работы этих очередей.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065143
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulТолько потом калбекам собирать все проверки я себе не представляю.
Особенно если одна проверка будет несколько миллисекунд, а другая несколько секунд.
как обычно. В свете новых веяний в архитектуре назовём их микросервисы))).
И назначим обработчик-функцию на событие "Пришёл ответ")).
Если это JS то там тоже это всё есть.
Можно сервлет и из Java вызвать.
..
Веб решения Уже говорят что длинного ничего не должно быть.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065157
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
twr143создайте четыре очереди и используйте механизм поллинга из веб модуля приложения для периодического запроса итогов работы этих очередей.
Тоже здравая мысль, только снова нужен полноценный JEE контейнер, или встраивать MQ самому.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065471
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczзабыл никесли вызывать shutdown то риска нет. Проблемы происходят только если запускать через Thread.start или когда забыли закрыть exsecutor
Нет, shutdown не решает проблемы:
http://rsdn.ru/forum/java/5974292.1

Вообще если честно, то это очень странно. Пару лет назад помогал одному немцу допилить его библиотечку по определению и исправлению мемори ликов, с тех пор постоянно использую у себя и никогда не возникало проблем с executor.
Вот кстати любопытное чтиво с его блога - http://java.jiderhamn.se/2012/02/26/classloader-leaks-v-common-mistakes-and-known-offenders/

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

Ох, как вы заблуждаетесь:) Библиотекикорректно работающие с потоками - скорее исключение, прочитайте приведенную выше ссылку.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065476
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczrdmМожете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск?
Возможно когда-нибудь исправят, но, как минимум в 7ке, если ты запускаешь новый поток, то ссылка на его context classloader оседает где-то во внутренностях Java и этот ClassLoader в JEE контейнере больше не соберется.
Проблема не решается даже если поток завершен и свободен для GC. Можно обойти подменой ClassLoader-а перед запуском потока.

Но правильнее использовать средства контейнера, и потоки порожденные им.

А на каком контейнере вы тестировали? У меня что на tomcat что на weblogic никогда такого чуда не вылезало. Работало месяцами, по 2-3 редеплоя в день во время активного девелопмента..
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065535
xifr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sce,

1) Держать долгий request в сервлете не очень хорошо.
2) Плодить под каждую проверку отдельные request-ы которые тоже будут долгими, тоже не очень.
3) Плодить Thread в каждом request - можно огребсти проблемы (имхо если псих нажмёт кнопку 100 раз).

Сделай проверки, как отдельные задачи
Сделай единую очередь этих задача
Сделай единый обработчик задач (где можно сконфигурить количество Thread под конкретное железо)
По выполнению задач, записывый результаты (например в сессию или в БД)
Сделай два метода в сервелете "выполнить проверку" (создание задач с проверками)
и "проверка статуса выполнения".
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065604
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё это реализуется с помощью websocket
просто и красиво.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065617
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, ну вот к примеру Solr (Cloud) или что-то в этом духе. Там же явно создание потоков идет.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065618
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczrdmзабыл ник, почти все известные библиотеки работая в контейнере внутри используют многопоточностьи проблем вроде бы не возникает.
Это странный какой-то пассаж. Много ли библиотек плодят потоки? Я знаю парочку. И при их использовании всегда происходит утечка в permgen, и пользователи просят разработчиков таки добавить статические методы для того чтобы пришивать эти потоки и освобождать связанные с ними ресурсы.
Серьезно?) Я думал все эти спринги и хибернейты создают потоки)
Вот Solr создает наверно, да?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065619
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, как в этом случае работать с кодом, который создает потоки? Как интегрировать такой код к web интерфейсу (например jetty+spring)
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065622
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никА на каком контейнере вы тестировали? У меня что на tomcat что на weblogic никогда такого чуда не вылезало. Работало месяцами, по 2-3 редеплоя в день во время активного девелопмента..
Tomcat. Я, правда, теперь сам задался вопросом, если AWS клиент запускает свой поток и спокойно останавливает и это убирает утечку, то почему же ExecutorService.shutdown() не помог? Он разве не завершает потоки?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065623
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никА на каком контейнере вы тестировали? У меня что на tomcat что на weblogic никогда такого чуда не вылезало. Работало месяцами, по 2-3 редеплоя в день во время активного девелопмента..
Тоже Java 7 ?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065651
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczTomcat. Я, правда, теперь сам задался вопросом, если AWS клиент запускает свой поток и спокойно останавливает и это убирает утечку, то почему же ExecutorService.shutdown() не помог? Он разве не завершает потоки?
Вот..и я так думал.. У меня правда java6 была, но в моем случае shutown точно прибивал все потоки.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065652
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmзабыл ник, ну вот к примеру Solr (Cloud) или что-то в этом духе. Там же явно создание потоков идет.

Так все зависит от кривости рук авторов. Если правильно написать - то утечек не будет.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065653
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmBlazkowicz, как в этом случае работать с кодом, который создает потоки? Как интегрировать такой код к web интерфейсу (например jetty+spring)

А оно вам точно надо? Просто не каждый проект нуждается в хот-редеплое. Ну а если столкнулись все-таки с проблемой, то делайте по совету Blazkowicz с форума rsdn.

Хотя также советую посмотреть на либу

<dependency>
<groupId>se.jiderhamn</groupId>
<artifactId>classloader-leak-prevention</artifactId>
<version>1.13.0</version>
</dependency>

процентов 90 ликов точно уберет.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065665
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, ой) про редеплой я пропустил)
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065666
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, а еще вопрос можно? Какой смысл в редеплое? Если в контейнере одно приложение, почему не проще "остановить - обновить код - запустить заново" ?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065687
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmзабыл ник, а еще вопрос можно? Какой смысл в редеплое? Если в контейнере одно приложение, почему не проще "остановить - обновить код - запустить заново" ?

Потому что некоторые приложения должны работать 24х7. У нас например было 4 сервера в кластере, weblogic, в нем можно запустить редеплой и пока он не закончился - то будет работать старая версия, как только закончился и все старые версии отработали - то переключается на новую. А если стопать сервак - то это прямые финансовые потери. Да и удобно - если хотредеплой не удался - есть шанс найти ошибку быстро и попробовать еще раз. А если рестартовать - то можно вообще встрять на часок
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065690
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник, т.е. если редеплой не делать, то и утечек связанных с многопоточностью не будет?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065700
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdmзабыл ник, т.е. если редеплой не делать, то и утечек связанных с многопоточностью не будет?

ну они будут все равно конечно, просто это мизер. Суть проблемы многократного редеплоя в том, что незавершенные потоки не дают шанса garbage collector собрать permgen, потому что держат сильную ссылку на classloader, и после 2-3 редеплоев permgen забивается в хлам и вылетает OOM Exception. Если у вас модель - остановили сервак, накатили апдейт - рестартовали - то я бы сильно не беспокоился.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065732
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mad_nazgulТолько потом калбекам собирать все проверки я себе не представляю.
Особенно если одна проверка будет несколько миллисекунд, а другая несколько секунд.
как обычно. В свете новых веяний в архитектуре назовём их микросервисы))).
И назначим обработчик-функцию на событие "Пришёл ответ")).
Если это JS то там тоже это всё есть.
Можно сервлет и из Java вызвать.
..
Веб решения Уже говорят что длинного ничего не должно быть.

Вот именно на JS не представляю.
Т.е. либо ч/з цепочку колбеков, либо... не знаю как.
Либо каким-то образом придется пилить цикл с проверкой какого массива, значения которого меняются в коллбеках для микросервисов.
В общем я вижу что решение будет таким же как если бы писать на стороне сервера.
Т.е. преимуществ никаких.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065738
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Переведи слово вебсокет и ajax.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065759
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще поиграть в пасьянс.

Сервлет не закончит process() до тех пор пока все async callbacs (ac1) не отработают.
Допустим ac1 занимает 3 секунды. Это самый долгий ac. Все остальные - мелкие.
По 0.5 сек. И их 3 штуки. Тогда имеет смысл разложить так.

Thread1: ac1 (3 sec)
Thread2: ac2, ac3, ac4 ( 3 * 0.5 = 1.5 sec).

Разумеется здесь будет не асинхронность а послоедовательность.
И нет смысла запускать 4 потока.

Еще есть варианты . В зависимости от исходных данных отклик может варьироваться.
К примеру юзер запрашивает историю биллинга за 1 день, неделю, месяц - то можно
прогозировать асинк-каллбек на 1, 5, 12 секунд к примеру и исходя из этого строить план.

Или в зависимости от резалта булевых операций тоже будут какие-то новые каллбэки.

Вобщем до последнего оптимизировать flow однопоточного алгоритма. А потом уж
форсировать mt и async.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065760
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
Переведи слово вебсокет и ajax.
не понял....
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065762
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
1. Чем тут вебсокет поможет?
2. До него был и есть AJAX.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065763
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
1. Чем тут вебсокет поможет?
2. До него был и есть AJAX.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065765
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
1. Чем тут вебсокет поможет?
2. До него был и есть AJAX.
как бы да, и в тоже время нет
ajax подразумевает обязательный ответ, и порядок вопрос-ответ.
можно сделать и несколько сервлетов.
но ws это проще - отправил один , второй и по барабану что из них вернет ответ , а что нет , и если оба - то в каком порядке.
ws(сервер) получил данные, выделил команду - запустил метод, ну а в этом методе можно скок угодно потоков организовать.
а в java8 по взаимодействии с потоками уже много легче.
и основной метод , после завершения всех потоков спокойно отдаст данные клиенту.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065798
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulВот именно на JS не представляю.
- 3 куска-сервлета

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
var переменная_флаг1;
var переменная_флаг2;
var переменная_флаг3;
  $.get('servlet_name1', {"param_url": param_url},
          function(resp) {// готово
            переменная_флаг1 = resp;
            ПроверкаВсеЛиВыполнены();
          })
  });
  $.get('servlet_name2', {"param_url": param_url},
          function(resp) {
             // готово
            переменная_флаг2 = resp;
            ПроверкаВсеЛиВыполнены();
          })
  });
  $.get('servlet_name3', {"param_url": param_url},
          function(resp) {
             // готово
            переменная_флаг3 = resp;
            ПроверкаВсеЛиВыполнены();
          })
  });


В Java исторически более шумный, нелаконичный код.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065800
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
вадяajax подразумевает обязательный ответ, и порядок вопрос-ответ.
я тебя совсем не понял. IMHO ты не писал AJAX
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065832
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123вадя,
вадяajax подразумевает обязательный ответ, и порядок вопрос-ответ.
я тебя совсем не понял. IMHO ты не писал AJAX
писал, но мне не понравилось
в твоём примере 3 ajax.
и в каждом проверка.
и на сервере надо 3 сервлета.
я обхожусь 1 ws.
и без всяких проверок.
я просто отправляю данные. отправил и забыл. никаких проверок.
если у меня два долгих процесса, мне не надо дожидаться когда закончится первый, чтоб отправить второй.
отправляю оба, один за другим, (ну надо следить чтоб у них конфликтов не вышло меж собой на сервере, но это отдельная тема)
у меня один слушатель ws на сервере, он принимает данные и разруливает.
всё просто.
у меня со страницы идет оправка 10-20 ws, а принимаются далеко не все, один и тот же запрос может иметь ответ, а может и нет.
(если запрос на удаление строки в таблице, то нафига что-то возвращать с сервера, если достаточно просто средствами js удалить строку. вопрос квитирования/подтверждения - по необходимости)
или я не правильно тебя понял?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065837
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а принимаются далеко не все, == нет необходимости в ответах от сервера
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065838
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяписал, но мне не понравилось
в твоём примере 3 ajax.
и в каждом проверка.
и на сервере надо 3 сервлета.
стоп!
- 3 сервлета - это ТЗ. Мы говорим о решении асинхронного вызова 3-4 кусков задачи.
2. К каждом не проверка, а банальный прогрессбар. Ты его чем двигать будешь?
Удачи!
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065840
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF
вадяа принимаются далеко не все, == нет необходимости в ответах от сервера
я тебя полгода назад спросил про конфликты AJAX+JS+WebSocet+сессии.
Ты обещал протестить.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065872
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123OFF
вадяа принимаются далеко не все, == нет необходимости в ответах от сервера
я тебя полгода назад спросил про конфликты AJAX+JS+WebSocet+сессии.
Ты обещал протестить.
извини, я видимо что-то пропустил, напомни где, и я постараюсь помочь, мне этот вопрос (сравнения) интересен

авторстоп!
- 3 сервлета - это ТЗ. Мы говорим о решении асинхронного вызова 3-4 кусков задачи.
2. К каждом не проверка, а банальный прогрессбар. Ты его чем двигать будешь?
Удачи!
ws это по природе асинхронно.
я ваще не рассматриваю сколько у меня кусков задачи, этой проблемы просто не возникает, надо что-сделать делаю, не задумываясь.

а прогресс бар я двигаю сервером :) пошагово, я могу отсылать процесс выполнения с сервера буквально через строчку серверного кода (это будет выглядеть как отображение лог файла). в реальном времени. со всеми состояниями и прочей инфой.
вот по прогрессбару с ws нет равных
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065887
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
причем я могу выводить эту инфу другому клиенту
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065896
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
я люблю простые решения (WS тут оверхед).
Приведи код не сложнее чем выше. И на этом закончим.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065922
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
доберусь до кмпа..
а ты можешь ajax отобразить в реальном времени какой метод выполняет юзер , а ты подключился админом,?
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065926
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя, это OFF
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065943
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
да , но если тема интересна можем продолжить в новом топике
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065947
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя OK....и так понятно, что для окна реал-тайм я выберу Веб-сокет.
Данная тема про другое.
...
Рейтинг: 0 / 0
Многопоточность внутри сервлетов. Помогите что использовать
    #39065970
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
если есть ограничениние ajax , то тут я в стороне , я предложил стороннее рншение, как вариант
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Многопоточность внутри сервлетов. Помогите что использовать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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