我正在使用Quartz调度程序来完成向用户发送邮件的cron工作。 我有一组用户,我想在第一时间发送邮件(比如说早上9点)。 我有另一组用户,我想在另一个时间发送邮件(比如说早上10点)。 我有第三次发送邮件的那些用户(比如说早上11点)。
意思是,我在发送邮件方面有相同的工作但是在不同的时间触发了不同的用户组。
有人可以帮我吗?
由于
答案 0 :(得分:1)
编写作业以在合并的JobDataMap中查找用户集(JobExecutionContext上的用户)。
定义一个工作实例,但存储三个触发器设置为触发它(一个用于9:00,一个用于10:00,一个用于11:00)。在每个触发器的JobDataMap上,存储要发送电子邮件的名称列表的标识符。当每个给定的触发器触发时,其JobDataMap值将在合并的JobDataMap中,并且作业将知道要向哪个用户发送电子邮件。
如果用户组非常大(比如说有几十个名字),我建议只在JobDataMap中为集合(作业可以用来从其他地方检索集合)中放置一个标识符,而不是集合本身。