2011-02-05 2 views
3

Я хочу разработать простое веб-приложение Java для отправки уведомлений по электронной почте после выполнения какой-либо задачи, например, запроса, представленного на утверждение, и напоминаний (утвердить их) на регулярные отрезки. Я хочу сделать это с помощью Quartz Scheduler. Я новичок, так что может кто-нибудь помочь мне начать с этого.Уведомления по электронной почте и напоминания в Java-приложении с использованием Quartz Scheduler

Спасибо заранее.

Я скопировал и вставил файл JAR: quartz-1.8.0 в WEB-INF \ lib и даже в общий \ lib, то он не найден при импорте в файл Java. :(

+0

Я скопировал и вставил банку: quartz-1.8.0 в WEB-INF \ lib, то она не найдена при импорте в моем java-файле :( – shiny

+0

Вы уверены, что использовали правильную операцию импорта? Проверьте файл JAR чтобы убедиться, что структура пакета в JAR-файле соответствует вашему заявлению на импорт. Также убедитесь, что ваш путь к классу установлен правильно. Измените уровень журнала на DEBUG или ALL, чтобы у вас была вся необходимая информация для решения проблемы. – jmort253

ответ

7

Создать сервлет, который начинается в веб-приложение инициализации.

<web-app> 
    ... 
    <servlet> 
    <servlet-name>Emailer</servlet-name> 
    <servlet-class>my.servlet.Emailer</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    ... 
</web-app> 

В init() сервлета настройки планировщика (в приведенном ниже примере запускает каждые 10 минут)

SchedulerFactory schFact = new org.quartz.impl.StdSchedulerFactory(); 
Scheduler sched = schFact.getScheduler(); 
JobDetail job = new JobDetail("job1", "group1", EmailerJob.class); 
CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1", "group1", "* 0/10 * * * ?"); 
sched.addJob(job, true); 
sched.start(); 

Написать Класс, дополняющий интерфейс работы Кварца.

EmailerJob implement Job{ 
     public void execute(JobExecutionContext arg0) throws JobExecutionException { 
     //Code to send mails goes here 
    } 

} 

P.S. Код, указанный выше, не проверен, но дает вам представление о том, что делать.

Как @ jmort253 правильно указана, учебник Quartz - - лучший ресурс, и если я правильно помню, у них есть запланированный пример электронной почты, сделанный где-то в этом.


Update

Хорошо, Google, чтобы решить вашу проблему. И вот ваше самое подробное решение, которое любой может вам дать! Java – Job Scheduling in web application with quartz API

Изменить # 1 Вы можете использовать ContextListener вместо сервлета для инициирования Quartz планировщик.


Update 1

Как @jhouse справедливо отметил, что вместо того, чтобы писать свои собственные Job, что ручка рассылки, вы можете попросить, чтобы сделать то же самое SendMailJob класс Кварцевый предопределены. Спасибо @jhouse.

+0

Кроме того, кварц поставляется с классом заданий org.quartz.jobs.ee.mail.SendMailJob, который знает, как отправлять электронную почту, которая будет работать для многих приложений, или служить примером кода. – jhouse

+0

@jhouse спасибо за информацию. это в ответе. – Nishant

+0

Я скопировал и вставил банку: quartz-1.8.0 в WEB-INF \ lib, тогда она не найдена при импорте в моем java-файле :( – shiny

 Смежные вопросы

  • Нет связанных вопросов^_^