Red de conocimiento informático - Material del sitio web - Cómo utilizar Java para implementar la función de envío automático de SMS

Cómo utilizar Java para implementar la función de envío automático de SMS

Método 1:

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.