Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

551
Vistas
Programar tareas dinámicamente, en la aplicación Springboot

En una aplicación Spring-Boot, necesito crear una tarea programada que ejecute un método expuesto (en el dominio de la aplicación).

A través de la interfaz gráfica, el usuario puede configurar el tiempo de ejecución y la periodicidad.

Ya tengo esta parte.

El problema es saber si usando librería de cuarzo o similar es posible programar la tarea y reprogramarla si el usuario modifica la configuración.

Por favor, ¿puede darme documentación al respecto para que pueda configurarlo de esta manera?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

puede usar la anotación @Scheduled de primavera. Puede anotar cualquier método en el componente de resorte especificando la cadena de retraso, es decir, el intervalo después del cual debe ejecutarse. Esto se puede configurar en el archivo de propiedades. Para especificar el intervalo, puede usar "fixedRate" o "fixedDelay".

fixedRate: ejecuta la nueva ejecución incluso si la ejecución anterior del trabajo aún está en curso.

fixedDelay: controla el tiempo de ejecución siguiente cuando finaliza la última ejecución.

Esto me había ayudado en el pasado.

  1. https://spring.io/guides/gs/scheduling-tasks
  2. https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/annotation/Scheduled.html

1.Puede crear la clase JOB que contiene la tarea a realizar:

 import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class MyScheduledTask { private static final SimpleDateFormat currentTime = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); @Scheduled(fixedRate = 2000) //interval in millisconds public void doSomeTask() { System.out.println("doSome task exceuted at " + currentTime.format(new Date())); } } 2.Main Spring boot class import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling public class Application { public static void main(String[] args) { SpringApplication.run(new Object[] { Application.class }, args); } }

Espero que esto te ayude un poco.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda