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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JSP отправка сообщения о выполнении задачи, Сообщении о выполнении задачи 
:(
    Опции темы
Shall
Дата 24.2.2012, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте уважаемые гуру!

В общем суть проблемы такая: Есть JSP/Servlet сайт, расположенный у меня на localhost, на нем регистрируются пользователи и создают списки событий, у которых указано время их выполнения. Нужно сделать так, чтобы при наступлении события на почту пользователя было отправлено сообщение о выполнении события.

Никак не могу понять, как сделать чтобы на сервере всегда (в фоновом режиме) работала функция, которая проверяет, произошло ли событие у какого-нибудь пользователя и отправляла бы этому пользователю сообщение, т.е. функция которая работает не по запросу клиента, а всегда при работе сервера.

Мне сейчас не важен процесс отправки сообщений, мне главное понять как заставить сервер делать что-нибудь (хотя бы в консольку выводить текст) по таймеру. Как просто работать с таймером знаю.  smile 

Нашел такую штуку ServletContextListener, может через неё? Если да, то подскажите как с ней работать  smile 

Использую NetBeans + Tomcat (все последних версий)

Это сообщение отредактировал(а) Shall - 24.2.2012, 16:07
PM MAIL   Вверх
danilych
Дата 24.2.2012, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: нет
Всего: 3



для этих целей лучше использовать quartz - http://quartz-scheduler.org/
PM MAIL   Вверх
Shall
Дата 24.2.2012, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(danilych @ 24.2.2012,  16:07)
для этих целей лучше использовать quartz - http://quartz-scheduler.org/

Кварц, насколько я знаю это класс в духе TaskSchedullera, а мне нужно понять, как запустить на сервере, в фоновом режиме какую-нибудь функцию, которая что-нибудь бы выполняла, без запроса клиента. А все остальное потом прикручу.
PM MAIL   Вверх
COVD
Дата 24.2.2012, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Вам надо, чтобы при старте вашего веб-приложения стартовал поток ( или таймер ). Для этого надо создать класс, имплементирующий javax.servlet.ServletContextListener, и указать его в web.xml.  В Нетбинсе для этого можно открыть web.xml и в секции General->Web Application Listeners добавить полное название класса. При старте приложения в обьекте класса сработает метод  contextInitialized, на выходе - contextDestroyed. В первом случае вы запускаете поток или таймер,  во втором - останавливаете.
PM MAIL   Вверх
Shall
Дата 24.2.2012, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(COVD @ 24.2.2012,  18:21)
Вам надо, чтобы при старте вашего веб-приложения стартовал поток ( или таймер ). Для этого надо создать класс, имплементирующий javax.servlet.ServletContextListener, и указать его в web.xml.  В Нетбинсе для этого можно открыть web.xml и в секции General->Web Application Listeners добавить полное название класса. При старте приложения в обьекте класса сработает метод  contextInitialized, на выходе - contextDestroyed. В первом случае вы запускаете поток или таймер,  во втором - останавливаете.

Спасибо, значит буду копать в сторону ServletContextListener smile А данный класс будет работать именно при старте сервера, т.е. не будет зависеть от того, зашел пользователь на сайт или нет?
PM MAIL   Вверх
COVD
Дата 24.2.2012, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Цитата

А данный класс будет работать именно при старте сервера, т.е. не будет зависеть от того, зашел пользователь на сайт или нет?
 

именно при старте 
PM MAIL   Вверх
Molodec
Дата 3.3.2012, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо. Мне тоже будет полезно. 
PM MAIL   Вверх
COVD
Дата 3.3.2012, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



именно при старте приложения. Старт приложения - это вы кладете war в папку webapps. Остановка приложения - удаляете war из папки webapps. Сам сервер может при этом продолжать работать. Разумеется, это также работает, если вы стартуете или останавливаете сам сервер. Например, когда IDE запускает или останавливает веб-сервер при запуске или остановке веб-приложения.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0798 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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