![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Имеется sрring conroller
Задача запустить работу над этим обьектом в отдельном таске, поесть конторолер уже отработал а работа над обьектом еще может продолжаться , Я обдумываю вариант запустить отдельный процесс и ему через pipe передать этот обьект , Я не могу сообразить как создать поток чтобы он гарантированно продолжал работать , после окончания работы контролера , Какие есть варианты ? |
|||
|
||||
CPlusPlusFAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
Вернуть из контроллера Future?
|
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
Как вариант: В контролере создавай новый поток или сколько тебе нужно. Передавай туда объекты и спокойно обрабатывай. Создай второй контроллер, который будет возвращать результат по некому "айди запроса" который ты сам можешь генерировать.
Добавлено через 1 минуту и 36 секунд т.е. фактически первый контроллер возвращает айди запроса, он берет объекты на обработку, а некий веб сервис типо getResult будет тебе по айди запроса возвращать результат и статус. |
|||
|
||||
d_k |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
нехорошо на вебе порождать потоки самому. Через механизм очередей и фоновый обработчик было бы интереснее
|
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
||||
|
||||
d_k |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
Судя по RequestMapping - используется спринг, спека EE не при чем. Хотя даже в ее рамках ИМХО, порождать потоки которые не управляются контейнером - не айс. Ранее сан еще предостерегал разработчиков от порождения потоков на уровне EJB, сейчас дали послабление через конкарренси апи, а толку то? попытка угнаться за тем же самым спрингом?
я не настаиваю, но старый и хорошо зарекомендовавший подход возложить обработку на фоновый процесс через очереди, а веб оставить для хорошего респонс тайма кажется привлекательней. Да и ресурсы сервера не тратятся и управлять обработкой проще настроив пулы обработчиков. В решении в лоб (порождать экзекъюторы на вебе), можно гарантированно положить сервер примитивным ДДОСом, если операция обработки сообщения занимает приличное время память и цпу. ЗЫ: спека спекой, но под конкретную задачу - конкретный рецепт. панацеи нет))) ЗЗЫ: холиварить не собирался, просто высказал свое мнение |
|||
|
||||
leniviy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: 1 Всего: 5 |
А нельзя использовать аякс? Пусть сервлет выполняется синхронно.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
mailer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 20.10.2010 Репутация: нет Всего: нет |
||||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
d_k, спринг конечно крут, но я дал ссылку на Java, потому что это всё таки Java
![]() Полностью согласен с
Задача размана изначально, поэтому предложил из опыта. Будут детали вопроса, можно думать дальше. |
|||
|
||||
CPlusPlusFAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
||||
|
||||
sergioK1 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
Cпринг применяют там где есть аспекты, тут аспектов нет, ты делаешь так ?
или его разновидности ? d_k видимо имеет ввиду пользовать конфигурацию томката через JNDI. Я пока не могу найти пример как жто сделать . |
||||
|
|||||
sergioK1 |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
задача проста как три копейки ![]() Все что нужно это отсылать данные клиенту каждые пару секунд, Сервис с обращением к бд сделать в потоке не проблема проблема в том что есть контолер ,
нужно из него возвращать результат каждые 3-5секунд тоесть но response больше одного раза отправить нельзя , можно переделать на WebSockets но мне лень менять код клиента , как это переделать с минимумом лишних телодвижений ? |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |