如何解决如何将石英作业分配给用户和类别?
我正在使用Spring Boot和Crystal实现Web应用程序,以允许注册用户安排通知。这些通知分为两类:短信和电子邮件。我想选择类别短信或电子邮件,然后按类别列出所有计划的通知。用户可以编辑已经安排好的通知,添加新的通知并删除选择的通知。任务似乎非常简单,但是我不知道如何将作业分配给用户和类别,因为当我创建新作业时,可以仅通过作业ID和组名来识别作业。请参见以下代码片段:
private JobDetail createJob(ScheduleEmailDto scheduleEmailDto) {
JobDataMap jobDataMap = new JobDataMap();
jobDataMap.put("email",scheduleEmailDto.getEmail());
jobDataMap.put("subject",scheduleEmailDto.getSubject());
jobDataMap.put("body",scheduleEmailDto.getBody());
Integer userId = scheduleEmailDto.getUserId();
Integer categoryId = scheduleEmailDto.getCategoryId();
JobDetail newJob = JobBuilder.newJob(EmailJob.class)
.withIdentity(UUID.randomUUID().toString(),"group")
.usingJobData(jobDataMap)
.storeDurably()
.build();
return newJob;
}
有人能指出我如何将新创建的作业分配给用户和类别吗?所有建议都会很有帮助。
解决方法
如果还没有,可以配置JDBCJobStore
,它可以将job_details,触发器等保存在一些数据库表中,并从DB处理它们。
有关更多详细信息,请参见http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/tutorial-lesson-09.html。
到那时,您可以轻松制作一个附加表,该表可以将用户和类别链接到作业并通过数据库进行管理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。