Spring-MVC:计划作业未执行

Spring-MVC : Scheduled job did not execute

我正在开发一个 Spring-MVC 应用程序,我在其中使用调度来删除不需要的额外内容。不幸的是,我的预定方法没有触发。谁能告诉我我哪里做错了。

这是代码:

@Repository
@Transactional
@EnableScheduling
public class NotificationDAOImpl implements NotificationDAO{

    @Override
    @Scheduled(cron = "0 3 3 * * ?")
    public void deleteNotificationsAutoMagically(){
        session=this.sessionFactory.getCurrentSession();
        long now = System.currentTimeMillis();
        long nowMinus1Week = now - (1000 * 60 * 60 * 24 * 3);
        Timestamp nowMinus1WeekAsTimeStamp = new Timestamp(nowMinus1Week);
        Query query = session.createQuery("delete from NoteLock as nl where nl.timestamp < :limit and nl.read=:true");
        query.setParameter("limit", nowMinus1WeekAsTimeStamp);
        query.executeUpdate();
        session.flush();
    }
}

我知道参数名称是 1 周的,但我将在 3 天内删除它。我只是复制了代码.. :D 任何帮助都会很好。谢谢

那个 cron 表达式看起来会 运行 在每个月 3 日的 3 点。

如果你想每 3 分钟 运行,你可以使用下面的表达式。

0 0/3 * 1/1 * ? *

您可以使用 cronmaker 来生成表达式

要验证您创建的 cron 表达式是否正确,请访问此 page