Ответ 1
Я думаю, что "час" по умолчанию равен 0 (полночь), поэтому вам может потребоваться указать его как:
@Schedule(minute = "*/5", hour="*")
Я запускаю свое приложение в Glassfish. Я попытался создать задание, которое будет выполняться каждые 5 минут:
@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()");
}
}
Однако он никогда не называется. Я попытался увидеть сообщение от регистратора и установить точку отладки, но он не будет вызван. Я использовал эту документацию для синтаксиса: http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html
Я также попытался точно указать минуты. К сожалению, без успеха.
Я думаю, что "час" по умолчанию равен 0 (полночь), поэтому вам может потребоваться указать его как:
@Schedule(minute = "*/5", hour="*")