我正在用 Java 设计一个报告计划程序服务。任务是在数据库中查找并查找是否有任何报告应在此特定时间执行。如果是,我们需要触发报告生成任务。报告可以安排在特定时间(例如:星期一 @ 18:00 EDT)或每日(每周日 @ 09:00 EDT)或每月(每月最后一天 @ 21:00 EDT)。
我们目前使用的技术栈: - Java 6 - Spring 3.1.3 - Spring Integration 2.2 - Hibernate 4
当前设计计划: - 创建计时器事件,每 5 秒在数据库中填充一条带有时间戳的消息 - 将所有时间表转换为 UTC 时区后将其加载到内存中 - Spring 通道读取此消息,该消息每 5 秒到达并调用服务查看如果任何计划将要执行,则向上 - 如果报告到期调用触发报告的服务
需要有关工具或设计建议的帮助,如果它们是更好的实现方式吗?