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