![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: 2 Всего: 5 |
Возник вопрос, если ли в Spring культурная поддержка Thread?
Мне нужно, чтобы при создании сессии создавался Thread, который будет работать все время, пока сессия жива (например, это может быть сканер, который складывает новые данные в базу и информирует клиента, что есть новые данные). ЗЫ: Хотя, щас понимаю, что эти Thread"ы можно создавать поверх веб-фреймворка: в моем случае ZK-фреймворк что-то такое предлагает: http://docs.zkoss.org/wiki/Simple_and_Intu...at_Room_Example Это сообщение отредактировал(а) Andrey1 - 26.8.2009, 17:06 -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Для таких задач есть стандарт: JMS. А в Spring есть такой модуль Spring-Integration, который базируется на ESB. Все, что тебе надо это выполнять асинхронные задачи по какому-то событию.
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: 2 Всего: 5 |
Да, только события должны генерироваться внутри Thread"а...
-------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
В каком-то посте я тебе рассказывал о sessionScope-бинах, в методе инициализации которых ты можешь запустить какой-нибудь таймед-таск, который будет с какой-то периодичностью повторяться. Или Quarz-триггер. А тот уже будет ложить в какую-то очередь сообщение что бы ложить нужные тебе объекты в базу и в другую очередь складировать сообщения о том, что что-то новое появилось.
Потом смотришь в сторону Comet и без участия пользователя показываешь изменения на странице. Задача интересная и, думаю, посильная. Будет очень красиво. Почему ты привязался к этим Thread"ам - не понятно... -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Да, еще вспомнил такое. Есть у Spring такой классик AsyncTaskExecutor, типа удобный способ запустить задачу в отдельном потоке. Как-будто похоже на то, что ты спрашиваешь. Но где-то я читал, что не рекомендуется в J2EE-окружении запускать таким образом неконтролируемые контейнером потоки, и предлагается для решения асинхронных задач использовать JMS.
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
Andrey1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: 2 Всего: 5 |
Да, интересно, нужно будет посмотреть. Но пока я решил обойтись штатным средством для создания потоков в ZK.
Да, но все равно где-то должен жить поток, который будет обсуживать JMS сообщения. -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Это уже проблемы контейнера. Даже тот таймер, который, че-то делает с определенной периодичностью живет в отдельном потоке, но его обслуживает контейнер. И еще такой интересный момент наблюдали с помощью JProfiler, что каждый HTTP-запрос порождает два потока, которые ложатся в пул. Вот и думай на своими потоками.... -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |