Cómo utilizar Java para implementar la función de envío automático de SMS
1. Configurar el oyente en web.xml
lt;listenergt;
lt;listener-classgt;
cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener
lt;/listener-classgt;
lt;/listenergt;
2. Cree un oyente
importar java.util.Timer;
importar javax.servlet.ServletContainer;
1.Timer;
importar javax.servlet.ServletContextEvent;
importar javax.servlet.ServletContextListener;
3.ServletContextListener;
la clase pública MyListener implementa ServletContextListener {
p>Temporizador privado temporizador = nulo;
@Override
contexto vacío públicoInitializado (ServletContextEvent sce) {
temporizador = nuevo temporizador (verdadero);
//Establecer programación de tareas, inicio y tiempo de intervalo
timer.schedule(new MyTask(), 0, 3*60*1000);
//3 minutos
//timer.schedule(new MyTask(), 0, 3*60*1000);
//Ejecuta esta tarea en 1 segundo, 2 segundos a la vez
//timer.schedule(new MyTask(), 0, 3*60*1000);}
@Override
public void contextDestroyed(ServletContextEvent sce) {
timer.cancel();
}
}
3. Clase utilizada para iniciar MyTask
importar java.util.Date;
importar java.util.TimerTask;
la clase pública MyTask extiende TimerTask {
@Override
public void run() {
System.out.println("callTimerTask").out.println("llamar a las" (nueva fecha())
}
}
Método 2:
quartz, un marco de programación para tareas de temporizador en Spring
p >-1.de.mach
ome.quartz;
public class CustomJob1 {
public void onTimeWork() {
System.out.println("Tarea de copia de seguridad de datos iniciada");
System .out.println("...");
System.out.println("Tarea de copia de seguridad de datos completada"); p>
}
- 4. El resto del trabajo se realiza en el archivo Spring xml
lt;! -- Bean programado --gt;
lt; bean id="job1" class="com.machome.quartz.CustomJob1"gt; ! -- Definir el objeto de la tarea--gt;
lt; bean id="jobtask1"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" gt;
lt; nombre de propiedad="targetObject"gt
lt; ref bean="job1"
lt;/propertygt;
lt;! --Método de programación en el bean programado--gt;
lt;property name="targetMethod"gt;
lt;valuegt;onTimeWorklt;/valuegt;
lt;/property gt;
lt;/beangt;
lt;!--Definir objeto activador--gt;
lt; ="trigger1"
class="org.springframework.scheduling.quartz.CronTriggerBean"gt;
lt;! --Objeto de tarea--gt;
lt;property name="jobDetail"gt;
lt;ref bean="jobtask1"
lt;/ propiedadgt;
lt;! --ron expresión--gt;
lt;property name="cronExpression"gt;
lt;valuegt;10, 15, 20, 25, 30, 35, 40, 45, 50, 55 * * * ?lt;/valuegt;
lt;/propertygt;
lt;/beangt;
lt;!- - Objeto de programación --gt;
lt;! -- Si lazy-init='false', el programador se ejecutará cuando se inicie el contenedor --gt
lt; bean id="scheduler" lazy-init="false"
clase="org.primavera
framework.scheduling.quartz.SchedulerFactoryBean"gt;
lt;!--Objeto desencadenante--gt;
lt;property name="triggers"gt;
lt;listgt;
lt;ref bean="trigger1" /gt;
lt;/listgt;
lt;/propertygt;
p>lt;/beangt;
- 5. Implementar el proyecto Spring en el servidor TOMCAT o JBOSS
Implementar el proyecto
Reiniciar TOMCAT server
- 6. Ver los resultados:
p>referencia de expresión cron: expresión cron de Quartz
7.