Answers for "programar un mail para un dia concreto java spring boot"

0

programar un mail para un dia concreto java spring boot

/*
   ServletContextListener
   Rol: supervisar la creación y destrucción de objetos ServletContext
       Expansión:
       Creación de Servletcontext: al iniciar el servidor
       Destrucción de ServletContext: cierra el servidor. Elimina el proyecto del servidor.
 */
@WebListener()
public class BirthdayMailListener implements ServletContextListener {
    /**
           * Supervisar la creación del objeto ServletContext
     */
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("Inicie el servidor, cree un ServletContext para su ejecución");

        // Crea una instancia del objeto del temporizador
        Timer timer = new Timer();

        // Obtener el tiempo de la primera ejecución del temporizador, si ha pasado el tiempo de la primera ejecución, la tarea del temporizador se ejecutará una vez cuando se inicie el temporizador
        String firstTimeStr="2020-02-22 10:00:00";
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date firstTime=null;
        try {
            firstTime = simpleDateFormat.parse(firstTimeStr);
            System.out.println("BirthdayMailListener firstTime"+firstTime);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        / * Asignar tareas al objeto del temporizador.
                 Descripción de parámetros: 
		 tarea: interfaz TimerTask, objeto de tarea de temporizador, debe crear una clase interna anónima y escribir el código que se ejecutará en el método de ejecución
		 firstTime: la hora de la primera ejecución, el tipo es Date
		 período: el intervalo periódico de ejecución de la tarea, en milisegundos.
         */
        timer.schedule(new TimerTask() {
            @Override
            public void run() {

                // Llame a la capa de lógica empresarial para obtener usuarios cuyo cumpleaños sea hoy
                UserService userService = new UserService();
                List<User> userList =userService.getBirthdayUsers();
                System.out.println("BirthdayMailListener userList"+userList);

                for (User user :userList) {
                    try {
                        MailUtils.sendMail(user.getEmail(),"Correo de cumpleaños","¡¡¡Feliz cumpleaños a ti!!!");
                        System.out.println("Hoy es"+user.getUsername()+"Cumpleaños, le ha enviado un correo electrónico de cumpleaños");
                    } catch (MessagingException e) {
                        e.printStackTrace();
                    }
                }
            }
        },firstTime,24*60*60*1000);
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {

    }
}
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
Posted by: Guest on August-31-2021

Code answers related to "programar un mail para un dia concreto java spring boot"

Code answers related to "Java"

Java Answers by Framework

Browse Popular Code Answers by Language