Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java EE Scheduler is not called

I'm running my application inside Glassfish. I tried to create a job, which will be executed every 5 minutes like this:

@Startup
@Singleton
@LocalBean
public class TempFolderCleaner {
    private final static Logger LOGGER = LoggerFactory.getLogger(TempFolderCleaner.class);

    @EJB
    private ReportStatusDao reporStatusDao;

    @Schedule(minute = "*/5")
    public void removeOldReports() {
        LOGGER.debug("start removeOldReports()");
    }
}

However, it is never called. I tried to see a message from the logger and to set a debug point but it won't be called. I used this documentation for the syntax: http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html

I also tried to specify the minutes exactly. Unfortunately without success either.

like image 378
Daniel Avatar asked Apr 20 '12 12:04

Daniel


1 Answers

I think "hour" defaults to 0 (midnight), so you might need to specify it as:

@Schedule(minute = "*/5", hour="*")
like image 156
Nick Wilson Avatar answered Nov 09 '22 00:11

Nick Wilson