¿Alguien tiene alguna experiencia con la programación de tareas en Spring? Entiendo que puede programar un período de tiempo fijo o un intervalo usando anotaciones https://spring.io/guides/gs/scheduling-tasks/ Pero me preguntaba si alguien sabe cómo hacer esto usando la entrada dinámica del usuario en tiempo de ejecución. Por ejemplo, un usuario programa un correo electrónico para que se envíe exactamente a las 5:02 p. m., ¿hay alguna forma de agregar una nueva tarea dinámicamente usando eso como una hora?
2. Anote el método de envío de correo con @Scheduled como se muestra a continuación, este método se llamará automáticamente (en primavera) cada 5 segundos (5000 ms).
3. Obtenga la hora actual y compárela con NEXT_SEND_TIME.
4. Si la hora actual es mayor que NEXT_SEND_TIME, active el correo electrónico para ese usuario.
@Scheduled(fixedDelay=5000) public void sendMail() { // do step 3 & 4 here }