1. Interfaces comunes:
1. Interfaz de trabajo: solo hay un método para esta interfaz
Ejecutivo nulo (contexto de JobExecutionContext)
El desarrollador implementa esta interfaz para definir las tareas que deben realizarse. La clase JobExecutionContext proporciona varias información sobre el contexto de programación.
2. JobDetail: se usa para describir las clases de implementación de trabajo y alguna otra información estática
3. Disparador: Describa las reglas de activación de tiempo para activar la ejecución del trabajo
4. Calendario: Define un espacio de tiempo que pueda (o imposible) desencadenantes en asociación con Trigger. No define el tiempo real del desencadenante, pero se usa cuando el horario normal necesita limitar el disparador del activador. La mayoría de los calendarios contienen todo el tiempo de forma predeterminada, y el usuario excluye algo de tiempo.
5. Programador: ejecute el contenedor y use SchedulerFactory para crear una instancia de programador
2. Ejemplo de código:
1. Al usar cuarzo, debe implementar la interfaz de trabajo;
Public Class TestJob implementa Job {public void Execute (JobExecutionContext context) lanza JobExecutionException {System.out.println ("¡Hello World! -" + New Date ()); // hacer más ...}}2. Programación [Es relativamente simple, solo mire el código]
Public Class QuartzTest {public static void main (String args []) lanza SchedulerException, ParseException {JobDetail JobDetail = JobBuilder.newJob (testJob.class) .WithIdentity ("testJob_1", "group_1") .build (); Disparador de activación = TriggerBuilder .newTrigger () .WithIdentity ("Trigger_1", "Group_1") .StartNow () .WithSchedule (simplesCheduleBuilder.SimpleSchedule () .withintervalInseconds (10) // intervalos de tiempo. Withrepeatcount (5) // número de rePetitions (6 tiempos) (6 tiempos). .construir(); SchedulerFactory SF = new stdsChedulerFactory (); Scheduler Sched = sf.getScheduler (); sched.scheduleJob (JobDetail, disparador); sched.Start (); }}Aquí está la versión 2.2.1, consulte los ejemplos de la documentación oficial. Vi que algunos libros de referencia se usan en versiones anteriores, por lo que hay algunas diferencias. Muchos métodos han sido desaprobados, por lo que es más realista leer los documentos directamente. La dirección oficial del sitio web de Quartz es: http://www.quartz-scheduler.org/
Iii. Quartz2.2.1 Ejemplo de archivo de configuración
# Propiedades predeterminadas Archivo de propiedades para usar por stdschedulerFactory# para crear una instancia de programador de cuarzo, si no se especifica explícitamente un archivo de# propiedades: defaultzschedulerorg.quartz.scheduler.rmi.rmi.rmi.rmi.richeduler falseorg.quartz.scheduler.rmi.proxy: falseorg.quartz.scheduler.wrapJobExecutionInUserTransaction: false org.quartz.threadpool.class: org.quartz.simpl.simplethreadpoolorg.quartz.threadpool.threadcount: 10org.quartz.threadpool.threadpriority: 5org.quartz.threadpool.threadsinheritContextClassLoaderofinitializingThread: verdadero org.quartz.jobstore.misfirethreshreshold # ================================================================================ # Configurar Jobstore #=================================================================================================================================================================================================================================================================================== S Configuración, guarde los datos en la memoria#org.quartz.jobstore.class: org.quartz.simpl.ramjobstore#Configuración permanente org.quartz.jobstore.class: org.quartz.impl.jdbcjobstore.jobstoretxorg.quartz.jobstore.driverdelegateclass: org.quartz.Impl.jdbcjobstore.steStJdbccDelegateorg.quartz org.quartz.jobstore.tablePrefix: qrtz_org.quartz.jobstore.dataSource: QZDS #================================================================================================ ================================================================================================= Configure Datasources#====================================================================================================#JDBC driver org.quartz.datasource.qzds.driver: com.mysql.jdbc.drivergerg.quartz.datasour ce.qzds.url: jdbc: mysql: // localhost: 3306/cuartzdborg.quartz.dataSource.qzds.user: rotorg.quartz.datasource.qzds.password: 123456org.quartz.datasource.qzds.maxconnection: 10
4. Relacionado con la base de datos
La persistencia requiere crear tablas de datos de cuarzo en la base de datos correspondiente por adelantado. En el paquete de lanzamiento de cuarzo, el DOCS/DBTables tiene scripts SQL correspondientes a diferentes bases de datos.
Por ejemplo, aquí está mysql:
Explicación del campo de la tabla de datos: