Создать сервлет, который начинается в веб-приложение инициализации.
<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.
Я скопировал и вставил банку: quartz-1.8.0 в WEB-INF \ lib, то она не найдена при импорте в моем java-файле :( – shiny
Вы уверены, что использовали правильную операцию импорта? Проверьте файл JAR чтобы убедиться, что структура пакета в JAR-файле соответствует вашему заявлению на импорт. Также убедитесь, что ваш путь к классу установлен правильно. Измените уровень журнала на DEBUG или ALL, чтобы у вас была вся необходимая информация для решения проблемы. – jmort253