El proceso de configuración de cuarzo en primavera:
1. Paquete de tasco de importación
El paquete JAR requerido por cuarzo ya está incluido en Spring, ubicado en Quartz-All-1.6.1.Jar Under /Lib /Quartz en el directorio después de la descompresión de primavera.
Simplemente cópielo a la web-INF/lib del proyecto.
2. Configure Web.xml para cargar el archivo de configuración de cuarzo cuando se inicia el resorte
<? xml versión = "1.0" encoding = "utf-8"?> <web-app versión = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaeee/web-app_2_5.xsd"> < <amamname> contextConfigLocation </amamname> <amam-value> classpath: aplicación-*. xml </amam-value> </text-param> <!-spring kuring-> <searcher> <searcher-class> org.sssspingframework.web.context.contextloaderlistener </search-class> </oyearrume> </webspringframework.web.context.contextloaderlistener </search-class> </oyuryer> </webspringframework.web.context.contextloaderlistener </search-class> </oyuryer> </webspringframeward
3. Escribir archivo de configuración de cuarzo: Application-Quartz.xml De hecho, estas configuraciones se pueden escribir en otros archivos de configuración de Spring.
<? xml versión = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" "" "" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http://www.springframework.org/schema/tx" xsi: schemalocation http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/ http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springfframework.org/schema/tx/spring-tx-2.5.xsd ">" id = "testTaskBean" /> <!-Método de tarea de política de actualización de actualización-> <bean id = "testTaskTimermethod"> <Property name = "targetObject" ref = "testTaskBean" /> <!-TargetMethod Method Name para configurar la ejecución de la hora de la hora de la hora. Actualizar el activador de la política-> <bean id = "testTaskTrigger"> <Property name = "JobDetail" ref = "SyncPolicyTaskTimermethod" /> <!-Ejecutar cada 3 minutos de 0th Second-> <Property Name = "Cronexpression" Value = "0 0/3 * * *?"? " /> </bean> <!-Lista de tareas personalizadas-> <bean id = "Scheduler"> <Property Name = "ARIGGERS"> <LIST> <ref Bean = "testTaskTrigger"/> </list> </property> </le beans> </les>
4. Escribe una Test Test Task de Java que ejecute tareas
paquete com.jp.task; importar org.quartz.JobExecutionContext; importar org.quartz.JobExecutionException; importar org.springframework.scheduling.quartz.quartzjobbean; Public Class TestTask extiende QuartzJobbean {logger log = logger.getLogger (PolicyServiceTest.class); public void ejecutAction () {log.info ("Hello Quartz"); } @Override Protected Void ExecuteInternal (JobExecutionContext Arg0) lanza JobExecutionException {}} 5. Todo el trabajo está listo y ejecutado. Básicamente, se informó un error. Se trata de un error de nosuchmetod.
Esto se debe a la versión baja de Commons-Collections.Jar. Necesito a las colecciones comunes-3.2.Jar o superior.
En este momento, está buscando un Commons-Collections-3.2.Jar en el proyecto. ¿Qué está sucediendo? Si lo busca nuevamente, encontrará que hay un Commons-Collections -1.1.1.Jar en Hibernate.
Simplemente elimine las colecciones comunes-2.1.1.JAR.
PS: Cronexpression-Descripción de la expresión del cron
El Trigger Cron utiliza una serie de caracteres especiales, como se muestra a continuación:
El carácter de barra de invernada (/) indica el valor incremental. Por ejemplo, en el campo de segundos "5/15" significa comenzar desde el quinto segundo, una vez cada 15 segundos.
Los caracteres del signo de interrogación (?) Y la letra L solo están disponibles en la fecha del mes y la fecha de los campos de la semana. Un signo de interrogación indica que este campo no contiene valores específicos. Por lo tanto, si especifica una fecha dentro del mes, puede insertar "?" En la fecha dentro de la semana para indicar que el valor de la fecha dentro de la semana no importa. El personaje de la letra L es la abreviatura del último. Póngalo en el campo de fecha de intramonth, lo que significa que está programado para ser ejecutado el último día del mes. En el campo de fecha de Intraweek, si "L" existe solo, es igual a "7", de lo contrario representa la última instancia de la fecha de Intraweek en el mes. Por lo tanto, "0L" significa que está programado para ser ejecutado el último domingo del mes.
El carácter de la carta (w) en el campo de la fecha dentro del mes de la ejecución de los programas al día hábil más cercano al valor especificado. Poner "1W" en el campo de fecha del mes significa que la ejecución está programada dentro del primer día hábil del mes.
El carácter de letrero de libra (#) especifica una instancia de día laboral específica para un mes determinado. Poner "Mon#2" en el campo de fecha Intraweek significa programar la tarea el segundo lunes del mes.
El carácter de asterisco (*) es un carácter comodín que significa que el campo puede aceptar cualquier valores posibles.
Caracteres especiales permitidos por valores permitidos en el campo:
0-59 segundos, - * /
0-59, - * /
Horas 0-23, - * /
Fecha 1-31, - *? / LWC
Meses 1-12 o Jan-Dec,- * /
Semana 1-7 o Sun-sat,- *? / LC #
Año (opcional) Salir en blanco, 1970-2099, - * /
Expresión significado
"0 0 12 * *?" Activado a las 12 del mediodía todos los días
"0 15 10? * *" Se activó a las 10:15 am todos los días
"0 15 10 * *?" Activado a las 10:15 am todos los días
"0 15 10 * *? *" Se activó todos los días a las 10:15 am
"0 15 10 * *? 2005" activado a las 10:15 am todos los días en 2005
"0 * 14 * *?" desencadena cada 1 minuto entre las 2 p.m. y las 2:59 p.m.
"0 0/5 14 * *?" Activado cada 5 minutos entre las 2 p.m. y las 2:55 pm todos los días
"0 0/5 14,18 * *?" Activado cada 5 minutos entre las 2:55 p.m. y entre las 6:55 p.m. y entre las 6:55 p.m. y cada 5 minutos entre
"0 0-5 14 * *?" Activado cada 1 minuto entre las 2 p.m. y las 2:05 p.m. todos los días
"0 10,44 14? 3 Wed" se desencadena todos los miércoles a las 2:10 y 2:44 pm
"0 15 10? * Mon-fri" activado de 10:15 am de lunes a viernes
"0 15 10 15 *?" Activado a las 10:15 am el 15 de cada mes
"0 15 10 L *?" Activado a las 10:15 am del último día de cada mes
"0 15 10? * 6L" se activó a las 10:15 am del último viernes de cada mes
"0 15 10? * 6L 2002-2005" se activó a las 10:15 a.m. del último viernes de cada mes de 2002 a 2005
"0 15 10? * 6#3" se desencadena todos los días a las 10:15 am del tercer viernes de cada mes a las 6 a.m.
0 6 * * *
Cada dos horas
0 */2 * * *
Cada dos horas entre las 11 p.m. y las 8 a.m., las 8 a.m.
0 23-7/2, 8 * * *
El 4 de cada mes y de lunes a miércoles cada semana a las 11 a.m.
0 11 4 * 1-3
1 de enero a las 4 a.m.
0 4 1 1 *