我遇到了必须使用持久调度程序的情况,因为我有一个 Web 应用程序可能由于某些问题而崩溃或关闭,并且如果发生这种情况可能会丢失它的作业详细信息。我尝试了以下方法:
- 使用 Quartz 调度程序:
我RAMJobStore
第一次使用,但由于它不是持久的,所以没有太大帮助。无法设置JDBCJobStore
,因为这将需要对我现有的代码库进行大量代码更改。鉴于这种情况,我有以下疑问:
- 如果我使用 Spring 的内置
@Schedule
注释,我的工作将是持久的..?我不介意作业是否在应用程序启动后安排。我想要的只是工作不会丢失他们的细节和触发器。? - 如果没有,是否有任何其他可以遵循的替代方案,请记住我需要使用我的调度程序安排多个作业。?
- 如果是,我怎样才能做到这一点。?我的触发器是不同的每项工作。例如,我可能有一份工作安排在上午 9 点,另一个安排在上午 8.30 点,以此类推。
- 如果不是调度程序,那么我可以有一个机制来处理这个。?
我发现一件事是 Quartz 的文档描述性不是很强。我的意思是顶级配置很好,但是在您的应用程序上配置它是一种痛苦。这只是一个旁注。与问题无关。
感谢帮助。:)