email - recibir - Notificaciones y recordatorios de correo electrónico en la aplicación web Java usando Quartz Scheduler
enviar email java sin autenticar (1)
Deseo desarrollar una aplicación Java Web simple para enviar notificaciones por correo electrónico después de que se haya realizado alguna tarea, como una solicitud enviada para aprobación y recordatorios (para decir aprobadores) a intervalos regulares. Quiero hacer esto usando el Programador de Cuarzo. Soy un novato, así que ¿alguien puede ayudarme a comenzar con esto?
Gracias por adelantado.
Copié y pegué el archivo JAR: quartz-1.8.0 en WEB-INF / lib e incluso en common / lib, luego no se encuentra al importar en mi archivo Java. :(
Cree un servlet que comience en la aplicación web init.
<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>
En init()
del servlet configure su planificador (el ejemplo a continuación se activa cada 10 minutos)
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();
Escribe una interfaz de Job de implementación de clase de Quartz.
EmailerJob implement Job{
public void execute(JobExecutionContext arg0) throws JobExecutionException {
//Code to send mails goes here
}
}
PD: El código anterior no ha sido probado, pero le da una idea clara de lo que debe hacer.
Como @ jmort253 correctamente apuntado, el tutorial de Quartz es el mejor recurso y si no recuerdo mal, tienen un ejemplo de emailer programado hecho en algún lugar.
Actualizar
De acuerdo, Google resolverá tu problema. ¡Y aquí está tu solución más detallada que cualquiera puede darte! Java - Programación de trabajos en aplicaciones web con API de cuarzo
Edición # 1 Puede usar ContextListener
lugar de servlet para iniciar el programador de Quartz.
Actualización 1
Como @jhouse mencionó correctamente que en lugar de escribir su propio Job
que maneja correo, puede solicitar a la clase SendMailJob
predefinida de Quartz que haga lo mismo. Gracias @jhouse.