1 EDITORIAL
Recientemente necesidad de negocio de la compañía para utilizar las tareas habituales, selección de fotogramas utilizando un cuarzo, aquí como un registro de aprendizaje.
2 miembros clave de cuarzo
Cuarzo núcleo por tres grandes componentes de interfaz, a saber, el trabajo , el gatillo , Scheduler
2.1 Trabajo
Realizan tareas particulares descritos, y su estructura es similar a la Ejecutable, solamente un procedimiento del tipo void Ejecutar (el contexto JobExecutionContext) , también es una subclase InterruptableJob , representa una tarea puede terminar
2.1.1 InterruptableJob
Basado en el trabajo sólo se añadió un tipo vacío del método de interrupción () , para la terminación de la tarea, llama a ocurrir en QuartzScheduler # shutdown (booleano), que exige que tenemos que escribir como una terminación de la escritura ejecutar el mismo Ejecutable método.
2.2 gatillo
Cuando se usa para describir el método de ejecución de llevar a cabo un trabajo
2.3 Programador
colas y agrupaciones de hebras similares, el almacenamiento de diversos empleo de la información y de disparo, las tareas administrativas para añadir, eliminar, sustituir, funcionamiento, etc.
uso preliminar de 3 cuarzo
Programador: Como un contenedor de tareas de gestión, el Programador de tareas y debería haber presentado un método similar para cerrar el grupo de subprocesos de la piscina: Agregar método tareas correspondientes son la AddJob , la ScheduleJob , muy lamentablemente firmas de estos métodos es JobDetail ;
JobDetail: clase de implementación JobDetail tiene una JobDetailImpl, y representa el constructor vacío debe especificar el nombre , clase , de grupo . Se refiere a una clase de empleo implementación de la interfaz; Grupo es opcional, utilice el valor predeterminado por defecto;
Disparador: disparador de una pluralidad clases de implementación, aquí sólo implica básicamente SimpleTriggerImpl;
Correspondiente a la construcción descrita anteriormente tiene tres interfaces o clases de clases.
3.1 una tarea común de temporización
1 / ** 2 * @author PANCC 3 * @version 1,0 4 * / 5 público de clase SimpleJobDemo { 6 pública estáticas void principales ([] args de Cuerda) tiros SchedulerException, InterruptedException { 7 JobDetail detalle = JobBuilder.newJob (SimpleJob. Clase ) 8 .withIdentity ( "simple", "group0" ) 9 .build (); 10 11 Gatillo de disparo = TriggerBuilder.newTrigger () 12 .withIdentity ( "simple_trigger" ) 13 .startNow () 14 .withSchedule (SimpleScheduleBuilder.repeatSecondlyForever (2 )) 15 .build (); 16 17 Scheduler planificador = nuevo StdSchedulerFactory () getScheduler ().; 18 19 scheduler.start (); 20 scheduler.scheduleJob (detalle, trigger); 21 / * 22 * 10秒钟后关闭 23 * / 24 Thread.sleep (10_000); 25 scheduler.shutdown (); 26 } 27 28 pública estáticas clase SimpleJob implementos de empleo { 29 @ Override 30 pública vacío ejecutar (contexto) JobExecutionContext { 31 System.out.printf ( "ahora la fecha:% s", la nueva fecha ()); 32 } 33 } 34 35 }
Parte superior del código crea una tarea de tareas de impresión y especifique la hora de inicio momento de la presentación en funcionamiento, y el período de 2 segundos, duran para siempre. 10 segundos después de cerrar el recipiente.
4 Crear una tarea en la boca
Los atributos necesarios: JobDetail debe tener un nombre descriptivo, utilizan el grupo por defecto cuando no se ajusta.
Accesibilidad: En un código general, visite nuestro habitual restringido, como la parte superior de SimpleJob podríamos definir privada (lo que significa su constructor es privado ), que no está permitido en cuarzo. de Trabajo constructor vacío debe ser pubilc , que está relacionada con las características de seguimiento de cuarzo.