2016-02-28

JavaEE - Annotation Type Schedule

Za pomocą adnotacji @Schedule istnieje możliwość odpalenia kawałka kodu w określonych odcinkach czasu - jest to coś podobnego do Cron'a na serwerach linuksowych.

Poniżej przestawiam przykład, w którym widać zastosowanie tej adnotacji - Metoda init() będzie uruchamiana co 5 minut.

package pl.marceen.schedule;

import org.apache.log4j.Logger;

import javax.ejb.Schedule;
import javax.ejb.Singleton;
import javax.ejb.Startup;

/**
 * @author Marcin Zaremba
 */
@Singleton
@Startup
public class ScheduleTest {

    private static final Logger logger = Logger.getLogger(ScheduleTest.class);

    @Schedule(persistent = false, hour = "*", minute = "*/5")
    public void init() {
        logger.info("Method init() started.");
    }

}

Więcej możliwościach tej adnotacji: docs.oracle.com