![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Shall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 23.10.2011 Репутация: нет Всего: нет |
Здравствуйте уважаемые гуру!
В общем суть проблемы такая: Есть JSP/Servlet сайт, расположенный у меня на localhost, на нем регистрируются пользователи и создают списки событий, у которых указано время их выполнения. Нужно сделать так, чтобы при наступлении события на почту пользователя было отправлено сообщение о выполнении события. Никак не могу понять, как сделать чтобы на сервере всегда (в фоновом режиме) работала функция, которая проверяет, произошло ли событие у какого-нибудь пользователя и отправляла бы этому пользователю сообщение, т.е. функция которая работает не по запросу клиента, а всегда при работе сервера. Мне сейчас не важен процесс отправки сообщений, мне главное понять как заставить сервер делать что-нибудь (хотя бы в консольку выводить текст) по таймеру. Как просто работать с таймером знаю. ![]() Нашел такую штуку ServletContextListener, может через неё? Если да, то подскажите как с ней работать ![]() Использую NetBeans + Tomcat (все последних версий) Это сообщение отредактировал(а) Shall - 24.2.2012, 16:07 |
|||
|
||||
danilych |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 2.2.2011 Репутация: нет Всего: 3 |
для этих целей лучше использовать quartz - http://quartz-scheduler.org/
|
|||
|
||||
Shall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 23.10.2011 Репутация: нет Всего: нет |
Кварц, насколько я знаю это класс в духе TaskSchedullera, а мне нужно понять, как запустить на сервере, в фоновом режиме какую-нибудь функцию, которая что-нибудь бы выполняла, без запроса клиента. А все остальное потом прикручу. |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Вам надо, чтобы при старте вашего веб-приложения стартовал поток ( или таймер ). Для этого надо создать класс, имплементирующий javax.servlet.ServletContextListener, и указать его в web.xml. В Нетбинсе для этого можно открыть web.xml и в секции General->Web Application Listeners добавить полное название класса. При старте приложения в обьекте класса сработает метод contextInitialized, на выходе - contextDestroyed. В первом случае вы запускаете поток или таймер, во втором - останавливаете.
|
|||
|
||||
Shall |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 23.10.2011 Репутация: нет Всего: нет |
Спасибо, значит буду копать в сторону ServletContextListener ![]() |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
именно при старте |
|||
|
||||
Molodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.12.2010 Где: Украина Репутация: 1 Всего: 1 |
Спасибо. Мне тоже будет полезно.
|
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
именно при старте приложения. Старт приложения - это вы кладете war в папку webapps. Остановка приложения - удаляете war из папки webapps. Сам сервер может при этом продолжать работать. Разумеется, это также работает, если вы стартуете или останавливаете сам сервер. Например, когда IDE запускает или останавливает веб-сервер при запуске или остановке веб-приложения.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |