}
2. A continuación, configúrelo en primavera:
<bean id="métodoInvocarDetalleDeTrabajo">
<nombre de propiedad="objeto de destino">
<ref bean="tarea" />
</propiedad>
<nombre de propiedad="métododestino">
<valor>Di hola</valor>
</propiedad>
</bean>
<!-- Configurar disparador-->
<bean id="cronTrigger">
<!-- No se puede hacer referencia directa a TaskJob en el atributo jobDetail aquí, porque requiere un objeto de tipo jobDetail, por lo que tenemos que transferirlo a través de MethodInvokingJobDetailFactoryBean -->
<nombre de propiedad="detalle del trabajo">
<ref bean="methodInvokingJobDetail" />
</propiedad>
<!-- Se activa cada 1 minuto de 8:00 a 21:00 todos los días; consulte el apéndice para obtener instrucciones específicas-->
<nombre de propiedad="cronExpression">
<valor>0 * 08-21 * * ?</valor>
</propiedad>
</bean>
<frijol>
<!-- Agregar disparador -->
<nombre de propiedad="desencadenantes">
<lista>
<ref local="cronTrigger" />
</lista>
</propiedad>
</bean>
</frijoles>
3. Para probar la clase de ejecución, puede ver las tareas programadas ejecutándose siempre que cargue el archivo de configuración de Spring.
importar org.springframework.context.ApplicationContext;
importar org.springframework.context.support.ClassPathXmlApplicationContext;
Aplicación de prueba de clase pública {
público estático vacío principal (String [] argumentos) {
// TODO Código auxiliar de método generado automáticamente
System.out.println("Cargando archivo de configuración de Spring...");
Contexto ApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println("¡Se completó la carga del archivo de configuración!");
//ApplicationContext contexto2 = new ClassPathXmlApplicationContext("test/timerTask/quartzTimer.xml");
}
}
Si desea ejecutarlo en un proyecto web, también debe agregar el siguiente código a web.xml:
Las siguientes son algunas instrucciones extraídas de Internet:
Campo Valores permitidos Caracteres especiales permitidos segundos 0-59, - */
Minutos 0-59, - */
Horas 0-23, - */
Fecha 1-31, - * / LWC
Mes 1-12 o ENERO-DICIEMBRE, - * /
Domingo 1-7 o DOM-SAB, - * ?
Año (opcional) dejado en blanco, 1970-2099, - */
significado de la expresión
"0 0 12 **?" Se activa a las 12 del mediodía todos los días.
"0 15 10 ? * *" se activa todos los días a las 10:15 a. m.
"0 15 10 **?" se activa todos los días a las 10:15 a.m.
"0 15 10 * * ? *" se activa todos los días a las 10:15 a.m.
"0 15 10 * * ? 2005" Se activa todos los días a las 10:15 a. m. en 2005
"0 * 14 ** ?" se activa cada 1 minuto desde las 2:00 p. m. hasta las 2:59 p. m. todos los días
"0 0/5 14 ** ?" se activa cada 5 minutos de 2:00 p. m. a 2:55 p. m. todos los días
"0 0/5 14,18 * * ?" se activa cada 5 minutos entre las 2:00 p. m. y las 2:55 p. m. y cada 5 minutos entre las 6:00 p. m. y las 6:55 p. m.
"0 0-5 14 **?" Se activa cada 1 minuto desde las 2:00 p. m. hasta las 2:05 p. m. todos los días.
"0 10,44 14 ? 3 WED" se activa todos los miércoles de marzo a las 14:10 y 14:44
"¿0 15 10? * LUNES-VIE" se activa a las 10:15 a.m. de lunes a viernes
"0 15 10 15 *?" Se activa a las 10:15 am del día 15 de cada mes.
"0 15 10 L *?" se activa a las 10:15 a. m. del último día de cada mes.
"0 15 10 ? * 6L" se activa el último viernes de cada mes a las 10:15 a.m.
"0 15 10 ? * 6L 2002-2005" Se activa a las 10:15 a. m. del último viernes de cada mes desde 2002 hasta 2005
"0 15 10 ? * 6#3" se activa el tercer viernes de cada mes a las 10:15 a.m.