Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring: можно ли создать Thread? 
:(
    Опции темы
Andrey1
Дата 26.8.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
MisterCleric
Дата 26.8.2009, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Для таких задач есть стандарт: JMS. А в Spring есть такой модуль Spring-Integration, который базируется на ESB. Все, что тебе надо это выполнять асинхронные задачи по какому-то событию.


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
Andrey1
Дата 26.8.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 27.2.2004
Где: Moscow

Репутация: 2
Всего: 5



Да, только события должны генерироваться внутри Thread"а...


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
MisterCleric
Дата 26.8.2009, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



В каком-то посте я тебе рассказывал о sessionScope-бинах, в методе инициализации которых ты можешь запустить какой-нибудь таймед-таск, который будет с какой-то периодичностью повторяться. Или Quarz-триггер. А тот уже будет ложить в какую-то очередь сообщение что бы ложить нужные тебе объекты в базу и в другую очередь складировать сообщения о том, что что-то новое появилось. 
Потом смотришь в сторону 
Comet
и без участия пользователя показываешь изменения на странице. Задача интересная и, думаю, посильная. Будет очень красиво.
Почему ты привязался к этим Thread"ам - не понятно...


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
MisterCleric
Дата 27.8.2009, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Да, еще вспомнил такое. Есть у Spring такой классик AsyncTaskExecutor, типа удобный способ запустить задачу в отдельном потоке. Как-будто похоже на то, что ты спрашиваешь. Но где-то я читал, что не рекомендуется в J2EE-окружении запускать таким образом неконтролируемые контейнером потоки, и предлагается для решения асинхронных задач использовать JMS.


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
Andrey1
Дата 27.8.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 27.2.2004
Где: Moscow

Репутация: 2
Всего: 5



Цитата(MisterCleric @  27.8.2009,  11:12 Найти цитируемый пост)
Да, еще вспомнил такое. Есть у Spring такой классик AsyncTaskExecutor, типа удобный способ запустить задачу в отдельном потоке. Как-будто похоже на то, что ты спрашиваешь. 

Да, интересно, нужно будет посмотреть. 
Но пока я решил обойтись штатным средством для создания потоков в ZK.

Цитата
...предлагается для решения асинхронных задач использовать JMS

Да, но все равно где-то должен жить поток, который будет обсуживать JMS сообщения.


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
MisterCleric
Дата 27.8.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Цитата

Да, но все равно где-то должен жить поток, который будет обсуживать JMS сообщения.


Это уже проблемы контейнера. Даже тот таймер, который, че-то делает с определенной периодичностью живет в отдельном потоке, но его обслуживает контейнер.
И еще такой интересный момент наблюдали с помощью JProfiler, что каждый HTTP-запрос порождает два потока, которые ложатся в пул. Вот и думай на своими потоками....


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0834 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.