Spring 带 EST 区域的预定注释,不起作用
Spring Scheduled annotation with zone EST, not working
我正在尝试在 EST 时区为 运行 创建一个调度程序。为此,我在预定方法上添加了@Scheduled 注释。下面给出方法。我希望此方法在周一至周五美国东部标准时间 05:00 每天 运行,但它 运行 在美国标准时间 3:30 上午(美国东部标准时间下午 6:00)运行。
@Scheduled(cron = "0 0 5 * * MON-FRI", zone = "EST")
public void jobRunDaily() {
logger.info("jobRunDaily : called");
this.sendEmailDaily();
}
如 documentation 中所述,zone
接受对 TimeZone.getTimeZone(String)
有效的 ID。
在 TimeZone
documentation 中,您将找到此类方法的以下内容:
the ID for a TimeZone, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00". Note that the support of abbreviations is for JDK 1.1.x compatibility only and full names should be used.
这意味着应该使用全名而不是您的“EST”缩写。
我正在尝试在 EST 时区为 运行 创建一个调度程序。为此,我在预定方法上添加了@Scheduled 注释。下面给出方法。我希望此方法在周一至周五美国东部标准时间 05:00 每天 运行,但它 运行 在美国标准时间 3:30 上午(美国东部标准时间下午 6:00)运行。
@Scheduled(cron = "0 0 5 * * MON-FRI", zone = "EST")
public void jobRunDaily() {
logger.info("jobRunDaily : called");
this.sendEmailDaily();
}
如 documentation 中所述,zone
接受对 TimeZone.getTimeZone(String)
有效的 ID。
在 TimeZone
documentation 中,您将找到此类方法的以下内容:
the ID for a TimeZone, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00". Note that the support of abbreviations is for JDK 1.1.x compatibility only and full names should be used.
这意味着应该使用全名而不是您的“EST”缩写。