我有一个方法,我想定期调用:每天上午11点。这是Main中的一个简单方法:
public void loadProduct() {
PropertyConfigurator.configure("log4j.properties");
try {
service.create(product);
logger.info("Creation started");
} catch (Exception e) {
// Log Exception
logger.error(e);
}
}
我几乎想出了如何在Spring上下文的帮助下实现这一目标:
<task:scheduler id="scheduler" pool-size="1"/>
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled ref="productTask" method="loadProduct" cron="0/30 * * * * *"/>
</task:scheduled-tasks>
但是如何安排任务每天上午11点每24小时开始一次?
或者有没有办法在Java代码中实现这一目标?
答案 0 :(得分:2)
但是如何安排任务每天上午11点每24小时开始一次?
这可以通过使用cron表达式来实现:0 0 11 * * *
。
或者有没有办法在Java代码中实现这一目标?
是的,使用Scheduled
(Spring Framework 5.0.1.RELEASE API)注释,例如:
@Scheduled(cron = "0 0 11 * * *", zone = "Europe/Moscow")
public void run() {
// ...
}
其他参考资料: