每个时区的多个Quartz计划

时间:2012-08-17 21:21:07

标签: quartz-scheduler

我有一个石英工作,每天下午3点(服务器时间)运行。我想做的是让它在下午3点运行,但是对于美国的每个时区。石英工作会向我的用户发送一封电子邮件,我希望每个人都能在下午3点得到它。这样做的最佳方法是设置多个计划,然后在该触发器的设置时区中为用户查询数据库吗?

1 个答案:

答案 0 :(得分:0)

你的想法几乎是我能想到的最好,最干净的方法。一项有几个触发器的工作 - 除了不同的时区之外相同。在工作中,您可以轻松检索当前使用的时区:

void execute(JobExecutionContext context) {
    TimeZone tz = ((CronTrigger)context.getTrigger()).getTimeZone();
    //find all users in tz
}