|
|
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Всем привет, подскажите какой подход будет правильным Есть сервлет который возвращает некоторый общий результат проверок. При вызове сервлета, сервлет делает много последовательных проверок которые занимают определенное время не зависящее от сервлета (для примера дожидается ответа от другого сервера). Я хочу сделать чтобы все проверки были параллельными, тем самым уменьшив общее время проверки. Т.е сделать многопоточность внутри сервлета. Посоветуйте как лучше поступить с такой задачей? Что использовать и т.д? Вообще это правильный подход или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 00:08 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
sceВсем привет, подскажите какой подход будет правильным Есть сервлет который возвращает некоторый общий результат проверок. При вызове сервлета, сервлет делает много последовательных проверок которые занимают определенное время не зависящее от сервлета (для примера дожидается ответа от другого сервера). Я хочу сделать чтобы все проверки были параллельными, тем самым уменьшив общее время проверки. Т.е сделать многопоточность внутри сервлета. Посоветуйте как лучше поступить с такой задачей? Что использовать и т.д? Вообще это правильный подход или нет. Подход нормальный. Можно воспользоваться стандартным механизмом создания потоков и в них делать проверку. Можно воспользоваться EJB-ным асинхронным вызовом ч/з Future. Так или иначе придется где-то в цикле ждать, пока все проверки пройдут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 07:11 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
sce, Можно взять 4 сервлета и 4 ajax вызова. ...без потоков. Зачем ты сделал 1 тяжёлый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 07:34 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123sce, Можно взять 4 сервлета и 4 ajax вызова. ...без потоков. Зачем ты сделал 1 тяжёлый. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 10:45 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
mad_nazgulМожно воспользоваться стандартным механизмом создания потоков и в них делать проверку. Это которым? Хочу заметить что запуск новых потоков из JEE приложения чревато утечками PermGen/Metaspace. Нужно использовать средства контейнера для того чтобы он выделял потоки под задачи приложения. mad_nazgulМожно воспользоваться EJB-ным асинхронным вызовом ч/з Future. Так или иначе придется где-то в цикле ждать, пока все проверки пройдут. Можно и асинхронный сервлет прикрутить. Но мне кажется, что вынести на клиента, как посоветовал Petro123 будет проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 11:16 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
BlazkowiczМожно и асинхронный сервлет прикрутить. Но мне кажется, что вынести на клиента, как посоветовал Petro123 будет проще. Нет. Можно для каждой проверки делать свой асинхронный бин (@Asyncronus), который в методе возвращает Future<Чего-то там>. В сервлете их проинжектить. Потом в обработчике вызвать. А после в цикле проверять .isDone() у Future<Чего-то там>. Это если решать "в лоб". А так да, можно воспользоваться асинхронностью на клиенте. Только потом калбекам собирать все проверки я себе не представляю. Особенно если одна проверка будет несколько миллисекунд, а другая несколько секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 12:34 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто которым? Хочу заметить что запуск новых потоков из JEE приложения чревато утечками PermGen/Metaspace. Нужно использовать средства контейнера для того чтобы он выделял потоки под задачи приложения. Можете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 12:42 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
rdmBlazkowiczЭто которым? Хочу заметить что запуск новых потоков из JEE приложения чревато утечками PermGen/Metaspace. Нужно использовать средства контейнера для того чтобы он выделял потоки под задачи приложения. Можете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск? если вызывать shutdown то риска нет. Проблемы происходят только если запускать через Thread.start или когда забыли закрыть exsecutor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 12:50 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл ник, почти все известные библиотеки работая в контейнере внутри используют многопоточностьи проблем вроде бы не возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 13:02 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
rdmМожете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск? Возможно когда-нибудь исправят, но, как минимум в 7ке, если ты запускаешь новый поток, то ссылка на его context classloader оседает где-то во внутренностях Java и этот ClassLoader в JEE контейнере больше не соберется. Проблема не решается даже если поток завершен и свободен для GC. Можно обойти подменой ClassLoader-а перед запуском потока. Но правильнее использовать средства контейнера, и потоки порожденные им. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 13:09 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл никесли вызывать shutdown то риска нет. Проблемы происходят только если запускать через Thread.start или когда забыли закрыть exsecutor Нет, shutdown не решает проблемы: http://rsdn.ru/forum/java/5974292.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 13:11 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
rdmзабыл ник, почти все известные библиотеки работая в контейнере внутри используют многопоточностьи проблем вроде бы не возникает. Это странный какой-то пассаж. Много ли библиотек плодят потоки? Я знаю парочку. И при их использовании всегда происходит утечка в permgen, и пользователи просят разработчиков таки добавить статические методы для того чтобы пришивать эти потоки и освобождать связанные с ними ресурсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 13:15 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
sce, создайте четыре очереди и используйте механизм поллинга из веб модуля приложения для периодического запроса итогов работы этих очередей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 13:15 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
mad_nazgulТолько потом калбекам собирать все проверки я себе не представляю. Особенно если одна проверка будет несколько миллисекунд, а другая несколько секунд. как обычно. В свете новых веяний в архитектуре назовём их микросервисы))). И назначим обработчик-функцию на событие "Пришёл ответ")). Если это JS то там тоже это всё есть. Можно сервлет и из Java вызвать. .. Веб решения Уже говорят что длинного ничего не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 13:37 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
twr143создайте четыре очереди и используйте механизм поллинга из веб модуля приложения для периодического запроса итогов работы этих очередей. Тоже здравая мысль, только снова нужен полноценный JEE контейнер, или встраивать MQ самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 13:48 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
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/ авторзабыл ник, почти все известные библиотеки работая в контейнере внутри используют многопоточностьи проблем вроде бы не возникает. Ох, как вы заблуждаетесь:) Библиотекикорректно работающие с потоками - скорее исключение, прочитайте приведенную выше ссылку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 17:24 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
BlazkowiczrdmМожете уточнить в каких случаях? Если использовать executor и все правильно завершать, то есть риск? Возможно когда-нибудь исправят, но, как минимум в 7ке, если ты запускаешь новый поток, то ссылка на его context classloader оседает где-то во внутренностях Java и этот ClassLoader в JEE контейнере больше не соберется. Проблема не решается даже если поток завершен и свободен для GC. Можно обойти подменой ClassLoader-а перед запуском потока. Но правильнее использовать средства контейнера, и потоки порожденные им. А на каком контейнере вы тестировали? У меня что на tomcat что на weblogic никогда такого чуда не вылезало. Работало месяцами, по 2-3 редеплоя в день во время активного девелопмента.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 17:28 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
sce, 1) Держать долгий request в сервлете не очень хорошо. 2) Плодить под каждую проверку отдельные request-ы которые тоже будут долгими, тоже не очень. 3) Плодить Thread в каждом request - можно огребсти проблемы (имхо если псих нажмёт кнопку 100 раз). Сделай проверки, как отдельные задачи Сделай единую очередь этих задача Сделай единый обработчик задач (где можно сконфигурить количество Thread под конкретное железо) По выполнению задач, записывый результаты (например в сессию или в БД) Сделай два метода в сервелете "выполнить проверку" (создание задач с проверками) и "проверка статуса выполнения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 18:25 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
всё это реализуется с помощью websocket просто и красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 19:51 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл ник, ну вот к примеру Solr (Cloud) или что-то в этом духе. Там же явно создание потоков идет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 20:10 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Blazkowiczrdmзабыл ник, почти все известные библиотеки работая в контейнере внутри используют многопоточностьи проблем вроде бы не возникает. Это странный какой-то пассаж. Много ли библиотек плодят потоки? Я знаю парочку. И при их использовании всегда происходит утечка в permgen, и пользователи просят разработчиков таки добавить статические методы для того чтобы пришивать эти потоки и освобождать связанные с ними ресурсы. Серьезно?) Я думал все эти спринги и хибернейты создают потоки) Вот Solr создает наверно, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 20:12 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, как в этом случае работать с кодом, который создает потоки? Как интегрировать такой код к web интерфейсу (например jetty+spring) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 20:13 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл никА на каком контейнере вы тестировали? У меня что на tomcat что на weblogic никогда такого чуда не вылезало. Работало месяцами, по 2-3 редеплоя в день во время активного девелопмента.. Tomcat. Я, правда, теперь сам задался вопросом, если AWS клиент запускает свой поток и спокойно останавливает и это убирает утечку, то почему же ExecutorService.shutdown() не помог? Он разве не завершает потоки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 20:36 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл никА на каком контейнере вы тестировали? У меня что на tomcat что на weblogic никогда такого чуда не вылезало. Работало месяцами, по 2-3 редеплоя в день во время активного девелопмента.. Тоже Java 7 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 20:37 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
BlazkowiczTomcat. Я, правда, теперь сам задался вопросом, если AWS клиент запускает свой поток и спокойно останавливает и это убирает утечку, то почему же ExecutorService.shutdown() не помог? Он разве не завершает потоки? Вот..и я так думал.. У меня правда java6 была, но в моем случае shutown точно прибивал все потоки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 22:25 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
rdmзабыл ник, ну вот к примеру Solr (Cloud) или что-то в этом духе. Там же явно создание потоков идет. Так все зависит от кривости рук авторов. Если правильно написать - то утечек не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 22:26 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
rdmBlazkowicz, как в этом случае работать с кодом, который создает потоки? Как интегрировать такой код к web интерфейсу (например jetty+spring) А оно вам точно надо? Просто не каждый проект нуждается в хот-редеплое. Ну а если столкнулись все-таки с проблемой, то делайте по совету Blazkowicz с форума rsdn. Хотя также советую посмотреть на либу <dependency> <groupId>se.jiderhamn</groupId> <artifactId>classloader-leak-prevention</artifactId> <version>1.13.0</version> </dependency> процентов 90 ликов точно уберет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 22:28 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл ник, ой) про редеплой я пропустил) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 23:11 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл ник, а еще вопрос можно? Какой смысл в редеплое? Если в контейнере одно приложение, почему не проще "остановить - обновить код - запустить заново" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2015, 23:13 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
rdmзабыл ник, а еще вопрос можно? Какой смысл в редеплое? Если в контейнере одно приложение, почему не проще "остановить - обновить код - запустить заново" ? Потому что некоторые приложения должны работать 24х7. У нас например было 4 сервера в кластере, weblogic, в нем можно запустить редеплой и пока он не закончился - то будет работать старая версия, как только закончился и все старые версии отработали - то переключается на новую. А если стопать сервак - то это прямые финансовые потери. Да и удобно - если хотредеплой не удался - есть шанс найти ошибку быстро и попробовать еще раз. А если рестартовать - то можно вообще встрять на часок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 00:05 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
забыл ник, т.е. если редеплой не делать, то и утечек связанных с многопоточностью не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 00:18 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
rdmзабыл ник, т.е. если редеплой не делать, то и утечек связанных с многопоточностью не будет? ну они будут все равно конечно, просто это мизер. Суть проблемы многократного редеплоя в том, что незавершенные потоки не дают шанса garbage collector собрать permgen, потому что держат сильную ссылку на classloader, и после 2-3 редеплоев permgen забивается в хлам и вылетает OOM Exception. Если у вас модель - остановили сервак, накатили апдейт - рестартовали - то я бы сильно не беспокоился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 00:58 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123mad_nazgulТолько потом калбекам собирать все проверки я себе не представляю. Особенно если одна проверка будет несколько миллисекунд, а другая несколько секунд. как обычно. В свете новых веяний в архитектуре назовём их микросервисы))). И назначим обработчик-функцию на событие "Пришёл ответ")). Если это JS то там тоже это всё есть. Можно сервлет и из Java вызвать. .. Веб решения Уже говорят что длинного ничего не должно быть. Вот именно на JS не представляю. Т.е. либо ч/з цепочку колбеков, либо... не знаю как. Либо каким-то образом придется пилить цикл с проверкой какого массива, значения которого меняются в коллбеках для микросервисов. В общем я вижу что решение будет таким же как если бы писать на стороне сервера. Т.е. преимуществ никаких. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 07:18 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадя, Переведи слово вебсокет и ajax. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 07:44 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Можно еще поиграть в пасьянс. Сервлет не закончит 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 08:16 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, Переведи слово вебсокет и ajax. не понял.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 08:23 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадя, 1. Чем тут вебсокет поможет? 2. До него был и есть AJAX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 08:27 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадя, 1. Чем тут вебсокет поможет? 2. До него был и есть AJAX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 08:27 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, 1. Чем тут вебсокет поможет? 2. До него был и есть AJAX. как бы да, и в тоже время нет ajax подразумевает обязательный ответ, и порядок вопрос-ответ. можно сделать и несколько сервлетов. но ws это проще - отправил один , второй и по барабану что из них вернет ответ , а что нет , и если оба - то в каком порядке. ws(сервер) получил данные, выделил команду - запустил метод, ну а в этом методе можно скок угодно потоков организовать. а в java8 по взаимодействии с потоками уже много легче. и основной метод , после завершения всех потоков спокойно отдаст данные клиенту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 08:38 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
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. В Java исторически более шумный, нелаконичный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 09:38 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадя, вадяajax подразумевает обязательный ответ, и порядок вопрос-ответ. я тебя совсем не понял. IMHO ты не писал AJAX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 09:39 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123вадя, вадяajax подразумевает обязательный ответ, и порядок вопрос-ответ. я тебя совсем не понял. IMHO ты не писал AJAX писал, но мне не понравилось в твоём примере 3 ajax. и в каждом проверка. и на сервере надо 3 сервлета. я обхожусь 1 ws. и без всяких проверок. я просто отправляю данные. отправил и забыл. никаких проверок. если у меня два долгих процесса, мне не надо дожидаться когда закончится первый, чтоб отправить второй. отправляю оба, один за другим, (ну надо следить чтоб у них конфликтов не вышло меж собой на сервере, но это отдельная тема) у меня один слушатель ws на сервере, он принимает данные и разруливает. всё просто. у меня со страницы идет оправка 10-20 ws, а принимаются далеко не все, один и тот же запрос может иметь ответ, а может и нет. (если запрос на удаление строки в таблице, то нафига что-то возвращать с сервера, если достаточно просто средствами js удалить строку. вопрос квитирования/подтверждения - по необходимости) или я не правильно тебя понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 10:19 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
а принимаются далеко не все, == нет необходимости в ответах от сервера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 10:24 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадяписал, но мне не понравилось в твоём примере 3 ajax. и в каждом проверка. и на сервере надо 3 сервлета. стоп! - 3 сервлета - это ТЗ. Мы говорим о решении асинхронного вызова 3-4 кусков задачи. 2. К каждом не проверка, а банальный прогрессбар. Ты его чем двигать будешь? Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 10:25 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
OFF вадяа принимаются далеко не все, == нет необходимости в ответах от сервера я тебя полгода назад спросил про конфликты AJAX+JS+WebSocet+сессии. Ты обещал протестить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 10:27 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123OFF вадяа принимаются далеко не все, == нет необходимости в ответах от сервера я тебя полгода назад спросил про конфликты AJAX+JS+WebSocet+сессии. Ты обещал протестить. извини, я видимо что-то пропустил, напомни где, и я постараюсь помочь, мне этот вопрос (сравнения) интересен авторстоп! - 3 сервлета - это ТЗ. Мы говорим о решении асинхронного вызова 3-4 кусков задачи. 2. К каждом не проверка, а банальный прогрессбар. Ты его чем двигать будешь? Удачи! ws это по природе асинхронно. я ваще не рассматриваю сколько у меня кусков задачи, этой проблемы просто не возникает, надо что-сделать делаю, не задумываясь. а прогресс бар я двигаю сервером :) пошагово, я могу отсылать процесс выполнения с сервера буквально через строчку серверного кода (это будет выглядеть как отображение лог файла). в реальном времени. со всеми состояниями и прочей инфой. вот по прогрессбару с ws нет равных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 10:44 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
причем я могу выводить эту инфу другому клиенту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 10:56 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадя, я люблю простые решения (WS тут оверхед). Приведи код не сложнее чем выше. И на этом закончим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 11:06 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123, доберусь до кмпа.. а ты можешь ajax отобразить в реальном времени какой метод выполняет юзер , а ты подключился админом,? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 11:25 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадя, это OFF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 11:27 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
Petro123, да , но если тема интересна можем продолжить в новом топике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 11:43 |
|
||
|
Многопоточность внутри сервлетов. Помогите что использовать
|
|||
|---|---|---|---|
|
#18+
вадя OK....и так понятно, что для окна реал-тайм я выберу Веб-сокет. Данная тема про другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 11:48 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2124867]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
110ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 512ms |

| 0 / 0 |
