Veamos el archivo de configuración de Spring directamente:
<?xml versión="1.0" codificación="UTF-8"?>
<beans xmlns=" http://www.springframework.org/schema/beans "
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
<bean id="testTimerTask" class="com.test.timerTask.TestTimerTask"></bean>
<bean id="serviceFor" class="com.test.timerTask.Service4Job"></bean>
<!-- El primer paso: definir la clase de programación de tareas, es decir, la clase que necesita realizar el trabajo comercial. Hay dos situaciones, elija una para la programación -->
<!-- Caso 1 de clase de programación de tareas: utilice una clase heredada de la clase abstracta QuartzJobBean para implementar la programación de tareas -->
<bean id="testTimerTaskJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- Tenga en cuenta que aquí se inyecta el nombre completo de la clase, no una referencia a la clase -->
<property name="jobClass" value="com.test.timerTask.TestTimerTask"></property>
<!-- Indica inyectar los beans requeridos en la clase testTimerTask -->
<nombre de propiedad="jobDataAsMap">
<mapa>
<entrada clave="servicio4Trabajo" valor-ref="servicioPara"></entrada>
</mapa>
</propiedad>
</bean>
<!-- Caso 2 de clase de programación de tareas: programe directamente métodos comerciales en clases existentes sin heredar de QuartzJobBean -->
<bean id="noJobBeanTaskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<nombre de propiedad="objeto de destino" ref="servicioPara"></property>
<nombre de propiedad="métododestino" valor="trabajo"></property>
</bean>
<!-- Paso 2: Definir el disparador, indicando cuándo o con qué frecuencia programar las tareas definidas en el primer paso -->
<!-- Caso de activación 1: basado en la llamada de tarea SimpleTriggerBean -->
<bean id="quartzSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<nombre de propiedad="jobDetail" ref="testTimerTaskJob"></property>
<nombre de propiedad="repeatInterval" valor="3000"></property>
<nombre de propiedad="startDelay" valor="2000"></property>
</bean>
<!-- Caso de activación 2: basado en la llamada de tarea SimpleTriggerBean -->
<bean id="quartzCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<nombre de propiedad="jobDetail" ref="noJobBeanTaskJob"></property>
<!-- Aquí se utiliza la forma de cadena de cronExpression 0/3 significa ejecución cada 3 segundos.
<nombre de propiedad="cronExpression" valor="0/3 * * * * ?"></property>
</bean>
<!-- Paso 3: Iniciar la programación de tareas -->
<!-- Comenzar a ejecutar el activador de programación de tareas-->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<nombre de propiedad="desencadenantes">
<lista>
<ref bean="cuarzoCronTrigger"/>
</lista>
</propiedad>
</bean>
</frijoles>
//================================================== ===
Dos clases: TestTimerTask y Service4Job
importar org.quartz.JobExecutionContext;
importar org.quartz.JobExecutionException;
importar org.springframework.scheduling.quartz.QuartzJobBean;
la clase pública TestTimerTask extiende QuartzJobBean{
servicio4Job privado servicio4Job;
setService4Job público vacío (servicio4Job servicio4Job) {
this.servicio4Trabajo = servicio4Trabajo;
}
@Anular
ejecución vacía protegida Interna (JobExecutionContext arg0)
lanza JobExecutionException {
this.service4Job.job();
}
}
clase pública Service4Job {
trabajo público vacío(){
System.out.println("**** "+System.currentTimeMillis());
}
}
(este mes) Volver a publicar: http://yanda20056.blog.163.com/blog/static/5650193120091113115434635/
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/thismonth/archive/2009/12/30/5103969.aspx.