Как запланировать запуск cron4j на Tomcat? - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу, чтобы мой веб-сервер (Tomcat 8.5) автоматически отправлял электронные письма один раз в день во время работы.Поэтому я настроил сервлет запуска в файле web.xml для запуска при запуске сервера.Когда я тестирую его в Eclipse, я получаю сообщение об ошибке Starting Tomcat v8.5 Server at Localhost has encountered a problem. Server Tomcat was unable to start within 45 seconds...

Я знаю, что это происходит в Eclipse, но кажется, что запуск не заканчивается, и мой сервер никогда не сможетдля других задач, поскольку он занят запуском ... Я хочу, чтобы он создал экземпляр планировщика, но затем закончил запуск и запустил планировщик "в фоновом режиме".

Как правильно запускать планировщик во время сервераначать?

1 Ответ

0 голосов
/ 30 ноября 2018

Я нашел способ сделать это.Вместо этого я реализую ServletContextListener.web.xml выглядит так:

<listener>
    <listener-class>servlets.SendEmailJob</listener-class>
</listener>

и класс:

public class SendEmailJob implements ServletContextListener {
    Scheduler scheduler = new Scheduler();

    public void contextInitialized(ServletContextEvent event) {
        scheduler.schedule("* * * * *", new Runnable() {
            public void run() {
                //sendEmail() - time pattern not specified yet
            }
        });
        // Starts the scheduler.
        scheduler.start();
    }

    public void contextDestroyed(ServletContextEvent event) {
        scheduler.stop();
        scheduler = null;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...