10

我在 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

我也试图准确地指定分钟。不幸的是也没有成功。

4

1 回答 1

17

我认为“小时”默认为 0(午夜),因此您可能需要将其指定为:

@Schedule(minute = "*/5", hour="*")
于 2012-04-20T13:07:39.943 回答