Introducción
Quarzt es un proyecto de código abierto que ejecuta tareas regularmente en un proyecto. Quartz es otro proyecto de código abierto en el campo de la programación de empleo. Se puede combinar con aplicaciones J2EE y J2SE o usarse por separado. Aquí presentamos ejemplos de integración con la primavera.
Debido a que Spring ha integrado Quarzt, solo necesitamos configurarlo.
Descargar paquete jar
Puede descargar directamente el paquete JAR en http://www.quartz-scheduler.org/ sitio web oficial de Quarzt
Se puede construir a través de Maven, recuerde introducir el frasco requerido para la primavera
< <Versión> 2.2.3 </versión> </pendency>
concepto
Clase de tarea: es decir, una clase que requiere la ejecución del código a intervalos regulares.
JobDetail: los detalles de configuración de la clase de tareas, es decir, el método para inyectar la clase de tareas y especificar la clase de tareas, es un trabajo ejecutable que puede ser con el estado en sí mismo.
MyTrigger: el disparador representa la configuración de un parámetro de programación, configurando el tiempo de llamada.
Scheduler: es un contenedor de programador, que puede contener muchas grifos y desencadenantes. Cuando se inicia el contenedor, cada cola de trabajo se ejecutará automáticamente paso a paso de acuerdo con el disparador.
Método de configuración
Primero escriba una clase de tareas
clase pública myJob {public void Job () {System.out.println (new SimpleDateFormat ("yyyyy-mm-dd hh: mm: ss"). format (new date ()) + ": ejecución de tareas"); }}Luego brote para configurar el bean de la clase de tareas
<bean id = "myJob" />
Configurar JobDetail, inyectar clases de tareas y métodos de clases de tareas
<bean id = "JobDetail"> <!-Objeto de destino de inyección-> <Property Name = "TargetObject" ref = "myJob"/> <!-Método de destino de inyección-> <Property Name = "TargetMethod" Value = "Job"/> </ bean>
Configurar disparadores
<!-Configurar disparo-> <bean id = "mytrigger"> <!-Inject Task Detalles Object-> <Property Name = "JobDetail" ref = "JobDetail"/> <!-Inject CRON Expression, especifique el punto de activación-> <Property Name = "Cronexpression"> <valor>/5 * * * *? </Valor> // indica que existe cada cinco segundos. El maíz sobrevivirá en la siguiente </protper> </bean>
Finalmente, configure la fábrica de despacho e inyecte el disparador configurado
<
En este punto, la configuración se completa y las tareas de tiempo se pueden realizar.
Resultados de la ejecución
expresión cron
El maíz se usa para controlar el tiempo de programación de la tarea y está configurado en el activador. La siguiente es la sintaxis básica de la expresión del maíz. Si parece demasiado complicado, el generador de sintaxis de maíz se proporciona en Internet http://cron.qqe2.com/. Puede generar automáticamente expresiones de maíz especificando condiciones.
A continuación se presentan los significados representados por siete *
Asterisk: * representa en cualquier momento, lo que indica que desea incluir todos los valores legales en este campo.
* * * * * * significa que activará cada momento
0 * 17 * * ? : Inspire desencadenantes cada minuto de 5 pm a 5:59 pm todos los días. Se detiene a las 5:59 p.m. porque el valor es de 17 en el dominio de la hora, a las 6 p.m., la hora se convierte en 18, así que ignoro este desencadenante hasta las 5 p.m. del día siguiente.
Marque de interrogación (?): El? El signo solo se puede usar en los dominios diarios y semanales, pero no se puede usar simultáneamente en estos dos dominios. ¿Puedes pensar? El personaje es "No me importa qué valor hay en el campo". Esto es diferente de un asterisco, que indica cada valor en el campo. ? significa que no especifica un valor para este campo. Si especifica un valor para uno de estos dos campos, debe poner un? en la otra palabra valor.
0 10,44 14 ? 3 WEB : se activa a las 2:10 p.m. y las 2:44 pm todos los miércoles de marzo.
Coma (,): se usa para especificar una lista de valores a un campo. Por ejemplo, el uso de valores 0,15,30,45 en el segundo campo significa que un disparador se desencadena cada 15 segundos.
0 0,15,30,45 * * * ? : El gatillo se activa cada cuarto de hora.
Back -stain (/): (/) se usa para un horario incremental. Acabamos de usar comas para representar incrementos cada 15 minutos, pero también podemos escribirlos como 0/15.
0/15 0/30 * * * ? : El gatillo se dispara cada 15 segundos tanto en los puntos de hora como medias.
Puntaje medio (-): la puntuación media (-) se usa para especificar un rango. Por ejemplo, 3-8 en el dominio de la hora significa "3, 4, 5, 6, 7 y 8 puntos". Los valores del dominio no permiten rebobinar, por lo que no se permiten valores como 50-10.
0 45 3-8 ? * * :: activado de 3 am a 45 a.m. a las 8 am.
Carta (L): L indica el último valor permitido en un campo. Solo es compatible con los dominios diarios y semanales. Cuando se usa en el dominio del día, representa el último día del mes especificado en el dominio del mes. Cuando la letra L se usa en el dominio de la semana, que indica el último día de la semana, que es el sábado (o el número 7), puede usar un número para conectar L para representar la última semana del mes X.
0 0 8 L * ? : Activado a las 8:00 am del último día de cada mes
0 59 23 ? * L : Activado a las 11:59 del último sábado de cada mes
0 0 12 ? * 2L : El último lunes de cada mes se desencadena (el número está conectado a L para representar la última semana del mes x)
Carta (W): día de lunes a viernes), y solo se puede usar en el dominio diario. Se utiliza para especificar el día de semana más cercano al día especificado
Hack Sign ( #): el personaje # solo se puede usar en el dominio periférico. Se utiliza para especificar qué día de la semana en un mes específico. Por ejemplo, si especifica el valor del campo semanal como 6 #3, significa el tercer viernes de un cierto mes (6 = viernes, #3 significa la tercera semana del mes).
Ejemplo
"0012 **?" Activado a las 12 del mediodía todos los días "01510? **" activado a las 10:15 am todos los días "01510 **?" Activado a las 10:15 am todos los días "01510 **?*" Activado a las 10:15 am todos los días "01510 **? 2005" activado a las 10:15 am todos los días "0*14 **?" Activado a las 10:15 am todos los días en 2005 a partir de las 2:59 p.m. todos los días "00/514 **?" Activado a las 2:00 p.m. todos los días de 2:00 pm a 2:55 pm todos los días "00/514,18 **?" Activado a las 2:00 p.m. todos los días de 2:00 p.m. a 2:55 p.m. y cada 5 minutos todos los días desde las 6:55 p.m. y cada 6:55 a las 6:55 p.m. todos los días cada 1 minuto activado por "010,4414? 3Wed" los miércoles de marzo de cada año a las 2:10 y 2:44 pm de marzo de marzo a las 10:15 am de los lunes a los viernes "015101515*? "015 am el 15 del mes" "01510L*?" "015 am en el último día del mes" "¿01510?*6L" los últimos viernes de la mes a las 10:15 am de los últimos viernes del mes "01510?*6L2002-2005" los últimos viernes del mes de 2002 a 2005 a las 10:15 am de los últimos viernes del mes "01510?*6#3" el tercer viernes del mes del mes del mes del mes del mes del mes del mes del mes de los últimos viernes "01510".
Resumir
Lo anterior se trata de las tareas programadas de Quarzt en este artículo, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!