Spring Scheduler任务以多个时区dateTime运行

问题描述

我明智地拥有多个timeZone客户,并且Application与UTC一起使用。因此,通常我会实现

@Scheduled(cron = "0 10 0 * * ?") // This scheduler will run at 00:10 AM daily And Send Notification.

但是问题是它在UTC时间12:10 AM运行;但是,根据客户的TimeZone可能有所不同

例如UTC在IST的UTC 00:10 AM是5:40 AM,因此印度的客户将在05:40 AM而不是IST的00:10 AM收到通知

要求:我需要在每个客户时区的00:10 AM运行一个任务(计划程序),而不是在Application TimeZone(UTC)中。

解决方法

user.timezone Java系统属性可能有帮助