Spring 如何将CronTrigger信息存储到存储库中,并在应用程序启动时加载TaskScheduler?

Spring 如何将CronTrigger信息存储到存储库中,并在应用程序启动时加载TaskScheduler?,spring,spring-boot,spring-data-jpa,Spring,Spring Boot,Spring Data Jpa,我正在开发一个调度应用程序,其中用户定义了一些要在指定时间运行的作业。当作业被触发时,它应该调用RESTFUL URL。此外,此类作业还具有重试次数和超时设置等属性。我在两点上受阻: CronTrigger以字符串形式表示并存储到数据库中,但问题是如何将其转换为CronTrigger,稍后用于创建TaskScheduler 应用程序应该从数据库中读取存储库中的所有信息,并在启动时构建TaskScheduler,但我不知道如何实现这一点 实体 @Entity public class Schedu

我正在开发一个调度应用程序,其中用户定义了一些要在指定时间运行的作业。当作业被触发时,它应该调用RESTFUL URL。此外,此类作业还具有重试次数和超时设置等属性。我在两点上受阻:

  • CronTrigger
    以字符串形式表示并存储到数据库中,但问题是如何将其转换为
    CronTrigger
    ,稍后用于创建
    TaskScheduler

  • 应用程序应该从数据库中读取存储库中的所有信息,并在启动时构建
    TaskScheduler
    ,但我不知道如何实现这一点

  • 实体

    @Entity
    public class ScheduledJob {
    
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private long id;
    
        private String cronTrigger;
        private String URL;
        private int numRetries;
        private int timeout;
    }
    

    与其尝试拼凑出自己的解决方案,我建议改用。使用Spring Boot(2或更高版本),由于添加了对Quartz的支持(请参阅)

    Quartz支持在数据库中存储此类信息。它还将利用这些信息触发工作。基本上你可以免费得到1和2


    缺点是您必须使用除
    @Scheduled
    之外的其他工具来安排作业

    不要发明你自己的解决方案,而是使用具有持久存储的石英。谢谢,但是1。你能不能把你的评论作为一个答案,这样我就可以把它标记为一个解决方案。2.你对我的问题2有什么建议吗?如果你使用石英2是免费的。