Planificación de tareas con Spring

Spring nos proporciona varias formas de planificar las tareas a través de Quartz, y en este tutorial Juan nos enseña un ejemplo práctico

Planificación de tareas con Spring

 

Introducción

A menudo nos vemos obligados a que nuestras aplicaciones
tengan que ejecutar
determinadas tareas cada cierto tiempo, por ejemplo cada 5
minutos comprobar si tenemos correos nuevos o mandar
información a nuestros clientes todos los domingos a las
22:00.  De forma limpia
podemos planificar estas tareas con Spring el cual se integra
perfectamente con Quartz para realizar la invocación de la
lógica de negocio que corresponda.

Spring nos proporciona varias formas de planificar
las tareas a través de Quartz por ejemplo creándonos
una clase que extienda de QuartzJobBean que a su vez implementa
org.quartz.Job. En este tutorial nos centraremos en la
invocación directa de métodos de nuestras
clases de negocio sin necesidad de extender nada ya que a veces por
problemas de diseño no es posible.

Configuración de Spring

Para ver el funcionamieto de Spring schedule haremos una clase de prueba cuyo
único trabajo será comprobar la memoria total y la libre de la máquina virtual.
El contenido de la clase es lo de menos, lo principal será ver cómo configuar Spring para
que llame al método cada cierto tiempo.

 La configuración de Spring para utilizar
Quartz no puede ser más sencilla. En el applicationContext.xml
bastaría con añadir lo siguiente:

También es posible invocar a la lógica de negocio en una determinada fecha, por ejemplo si queremos
mandar un correo el dia 1 de cada mes al personal para informar de que han cobrado la nómina. Para ello
se utiliza la clase CronTriggerBean en lugar de SimpleTriggerBean que se configurará de forma similar al caso anterior:

Con la propiedad cronExpression indicamos la fecha en la que deberá ejecutar la tarea, los valores hacen referencia
a los siguientes datos (de izquierda a derecha):

  • segundos (0 – 59)
  • minutos (0 – 59)
  • horas (0 – 23)
  • día del mes (0 – 31)
  • mes (1 – 12)
  • día de la semana (MON-SUN)

Conclusión

Ya veis lo fácil que es planificar tareas con Spring. Basta con indicarle la clase y el método que deberá llamar pasado x tiempo
y hará todo el trabajo por nosotros. Podéis encontrar muchas más información en la web oficial

Comentarios

Un comentario

  1. Esta página es la mejor con respecto a los tutoriales de spring y lo mejor de todo es que esta en español, pero en esta entrada no aparece el codigo del ejemplo, ojala lo puedan arreglar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Ingeniero en Informática, especialidad en Ingeniería del Software.

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

22/06/2026

Juan Antonio Jiménez Torres

Vamos a instrumentalizar un SDD para un microservicio bancario. En este artículo sobre SDD - Spec Driven Development, instrumentalizado sobre OpenSpec vamos a construir una PoC de algo más serio que una tabla periódica. Un microservicio bancario muy simplificado que gestione cuentas y permita hacer transferencias

16/06/2026

Juan Antonio Jiménez Torres

Este es el segundo artículo sobre SDD, Spec Driven Development, instrumentalizado sobre OpenSpec. Pero esta vez nos acercaremos usando softwere gratuito. Por un lado OpenCode en lugar de ClaudeCode y usando el modelo gratuito Gemma4 de Google en lugar de otros de pago.

08/06/2026

Juan Antonio Jiménez Torres

Aprenderemos sobre SDD – Spec Driven Development instrumentalizado sobre OpenSpec. Haremos un primer acercamiento usando ClaudeCode con Sonnet, para luego, en un artículo posterior pasarnos a la versión gratuita de OpenCode con Gemma4