|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Это метод setPostTelega()? PetroNotC Sharp убери все в методы А и Б! И код сюда. Нафиг нам требуху твою смотреть это просто ответ на Basil A. Sidorov вадя есть сервлет ... Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:03 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
mayton Код: java 1. 2.
прилонгполинге -около секунды. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:05 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
mayton Код: java 1. 2.
прилонгполинге -около секунды. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:05 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя вот тут запутался. если сообщение 1 не приходит клиенту 2, когда метод Б работает, то где-то у тебя еще ошибка или заблуждение в интерпретации результатов. Может там в телеграме задержки, а ты думаешь что он окончания метода Б ждет. Ответ ищем простым логированием - сообщение до отсылки в телегу и после, до вызова метода Б и после. Стартуем 2 клиента и смотрим. Можно в виде теста организовать, вместо вызова метода Б с железом, просто sleep на 5-10 сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:06 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя это просто ответ на А нужно 3 или 4 строки с именами методов. ООП твоя слабая черта ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:14 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
На уровне дизайна выходит примерно так Все сообщения пришедшие по REST складываются в очередь один консьюмер обрабатывает очередь и через веб сокет дает сообщение клиенту: время ожидания и результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:15 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
mayton Надо почитать спеку. По моему сервлет обладает из коробки идеальным параллелизмом. сделал логи - такое впечатление что сервлет вообще не обладает параллелизьмом :) сообщения от второго клиента появляются только после окончания обработки первого, т.е через 20 сек... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:27 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя сервлет вообще не обладает параллелизьмом :) А вот контейнер, при достаточной нагрузке запустит сервлет Б параллельно с А ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:31 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя, ну вот наверное в этом причина ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:33 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя через 20 сек ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:33 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
Sergunka и через веб сокет дает сообщение клиенту: время ожидания и результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:34 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp sleep поставь и тестируй дал команду железу, только через 10 сек можно получить ответ, и таких взаимодействий с железом может быть 2-3 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:37 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp один сервлет конечно. А вот контейнер, при достаточной нагрузке запустит сервлет Б параллельно с А mayton вадя, ну вот наверное в этом причина ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:38 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя, Убрать железо из топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:39 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя PetroNotC Sharp один сервлет конечно. А вот контейнер, при достаточной нагрузке запустит сервлет Б параллельно с А mayton вадя, ну вот наверное в этом причина Проверить что сервлет обслуживается пулом из 1 потока? Ну поискать настройки контейнера. Или посмотреть на процесс через jvisualvm. Там на диаграмме потоков будет все видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 20:43 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
Для Tomcat есть вот такая настройка maxThreads https://tomcat.apache.org/tomcat-7.0-doc/config/executor.html не уверен точно что она относится к сервлетам. Возможно смысл более широкий. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 22:13 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
Для Jetty тоже что-то есть https://www.eclipse.org/jetty/documentation/current/#quick-start-configure ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 22:30 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
mayton, видел, там явно больше 2 надо дальше разбираться с протоколом телеги ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2020, 23:36 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
Да допустим их 20. Что они делают в момент когда воспроизводится проблема? Опять-же. JVisualVm, JStack: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr016.html сделай дамп стека и посмотри чем они заняты. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 00:53 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя, С телегой все ясно. Код: java 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 08:30 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
тут наверно надо рассматривать иначе клиенты-смартфоны - это различные клиенты для сервера телеги а для моего сервера(сервлета) это один клиент - сама телега т.е. используется только один коннект. и если я в jsp сделаю команду sleep - браузер будет ждать пока не проснётся т.е у меня все работает правильно - вопрос надо ставить по- другому.... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 11:43 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя как сделать так чтоб первое сообщение (с текстом "ждите") появилось сразу у всех клиентов, ну а обработка в методе В шла по очереди? Чтобы обработка шла по очереди, нужна очередь! :-) Можно посмотреть в сторону RxJava и/или Spring WebFlux ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 12:07 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя тут наверно надо рассматривать иначе В железе, в сообщении или БЛ бизнес логики? Третья страница скоро. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 12:12 |
|
многопоточность...как лучше организовать?
|
|||
---|---|---|---|
#18+
вадя, Описывай ВИ или юзкейс. Посмотри в вебе как описывается. Мы не поняли. У нас нет телеги)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2020, 12:14 |
|
|
start [/forum/topic.php?fid=59&msg=40026591&tid=2120580]: |
0ms |
get settings: |
21ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
455ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 561ms |
0 / 0 |