Red de conocimiento informático - Problemas con los teléfonos móviles - PREMA.Cuarzo

PREMA.Cuarzo

Quartz es un marco de programación de trabajos de código abierto escrito íntegramente en Java. No se deje intimidar por el término programación de trabajos. Aunque el marco Quartz integra muchas características adicionales, en su forma simple, descubrirá que es casi demasiado fácil de usar. Simplemente cree una clase Java que implemente la interfaz org.quartz.Job. La interfaz Job contiene el único método:

ejecución pública vacía (contexto JobExecutionContext)

lanza JobExecutionException;

En la clase de implementación de la interfaz Job, método ejecutar() para agregar algo de lógica. Una vez que configure la clase de implementación del Trabajo y establezca el cronograma de programación, Quartz controlará el tiempo restante. Cuando el programador determina que es hora de notificar su trabajo, el marco Quartz llama al método ejecutar() en su clase de implementación de trabajo (clase de trabajo) y le permite hacer lo que necesita hacer. No es necesario informar nada al planificador ni llamar a nada específico. Simplemente ejecute el trabajo y finalícelo. Si configura un trabajo para que se vuelva a llamar más tarde, el marco Quartz volverá a llamar al trabajo en el momento correcto.

En términos de escala, Quartz es similar a la mayoría de los frameworks de código abierto. Hay aproximadamente 300 clases e interfaces de Java divididas en 12 paquetes. Esto se puede comparar con Apache Struts, que tiene aproximadamente 325 clases e interfaces divididas en 11 paquetes. Si bien el tamaño rara vez se utiliza como característica para medir la calidad de una estructura, el punto aquí es que el cuarzo tiene una gran cantidad de funcionalidad incorporada, y si estas funcionalidades y conjuntos de características son o deberían ser un factor para juzgar la calidad de una estructura. un marco de código abierto o no de código abierto.

El núcleo del marco Quartz es el programador. El programador es responsable de administrar el entorno de ejecución de la aplicación Quartz. El programador en sí no hace todo el trabajo, pero depende de algunas partes muy importantes del marco.

Quartz es más que solo subprocesos y gestión de subprocesos. Para garantizar la escalabilidad, Quartz utiliza una arquitectura multiproceso. Al iniciarse, el marco inicializa un conjunto de subprocesos de trabajo que utiliza el programador para realizar el trabajo programado. Por lo tanto, Quartz puede ejecutar varios trabajos simultáneamente. Quartz se basa en un conjunto de componentes de gestión de grupos de subprocesos débilmente acoplados para gestionar el entorno de subprocesos. Mencionaremos la administración del grupo de subprocesos varias veces en este artículo, pero cada objeto en Quartz es configurable o personalizable. Entonces, por ejemplo, si deseas conectar tus propias instalaciones de administración de grupos de subprocesos, ¡estoy seguro de que puedes hacerlo!

El marco Quartz tiene un rico conjunto de características. De hecho, Quartz tiene tantas características que es imposible apreciarlas todas en un solo contexto. Aquí se enumeran algunas características interesantes, pero no hay tiempo para discutirlas en detalle aquí.

Oyentes y complementos

A todo el mundo le encantan los oyentes y los complementos. Descargue casi cualquier marco de código abierto hoy y seguramente encontrará soporte para ambos conceptos. Los oyentes son clases de Java que usted crea para recibir devoluciones de llamadas desde el marco cuando ocurren eventos clave. Por ejemplo, se pueden configurar para notificar a sus oyentes cuando un trabajo está programado, no programado o cuando un activador finaliza y ya no se activa. Puede configurar escuchas de trabajos y desencadenadores para que sean globales o específicos de trabajos y desencadenadores.

Puedes utilizar esta técnica para lograr lo que deseas lograr en tu clase de oyente una vez que uno de tus oyentes específicos haya sido llamado. Por ejemplo, si desea enviar un correo electrónico cada vez que se completa una tarea, puede escribir esa lógica en la tarea o en JobListener. Escribir en un JobListener fuerza un acoplamiento flexible para un mejor diseño.

Los complementos de Quartz son una nueva característica que se puede crear y agregar al marco de Quartz sin modificar el código fuente de Quartz. Está diseñado para desarrolladores que desean ampliar el marco de Quartz pero no tienen tiempo para enviar cambios al equipo de desarrollo de Quartz y esperar a que se lancen nuevas versiones.

Si está familiarizado con los complementos de Struts, entonces comprenderá el propósito del complemento Quartz.

Quartz proporciona puntos de extensión limitados que pueden no satisfacer sus necesidades y puede obtener puntos de extensión parcheables mediante el uso de complementos.