【问题标题】:Advantage of using spring wrapper classes over quartz scheduler library在石英调度程序库上使用弹簧包装类的优势
【发布时间】:2017-03-05 22:44:06
【问题描述】:

我正在使用石英调度程序来动态调度作业。我找到了另一种使用 spring bean 类使用石英调度程序的方法。 例如。

这是石英调度器的正常使用方式。

SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
JobDetail job = newJob(SimpleJob.class).withIdentity("job2", "group1").build();
CronTrigger trigger = newTrigger().withIdentity("trigger2", "group1").withSchedule(cronSchedule("0/2 * * * * ?")).build();
sched.scheduleJob(job, trigger);    
sched.start();

这就是我们使用 Spring 类的方式:-

JobDetailFactoryBean job = new JobDetailFactoryBean();
job.setName(list.get(a).getJobName());
job.setDurability(true);
job.setGroup("group");
CronTriggerFactoryBean ret = new CronTriggerFactoryBean();
trigger.setCronExpression(list.get(a).getCronExpression());
trigger.setGroup("group");
trigger.setName(list.get(a).getCronExpressionName());
trigger.setJobDetail(job.getObject());
SchedulerFactoryBean sched = new SchedulerFactoryBean();
sched.setOverwriteExistingJobs(true);
sched.setTriggers(trigger);

所以我想知道使用 spring 包装类而不是石英库有什么优势。

【问题讨论】:

    标签: java spring spring-boot quartz-scheduler


    【解决方案1】:

    在浏览了几个教程和博客并与很多人讨论之后,我找到了答案。如果想要包含我们的 jobDetail 和要包含在 Spring Bean 容器中的触发器,我们使用 Bean 包装器类而不是石英。 通过这样做,我们可以自动装配 JobDetail 和 CronTrigger 类等。我们可以利用 spring-beans 来创建我们的作业、触发器和 schedulerfactory 类等。

    【讨论】:

    • 只是想回答这个问题:) 通常是为了方便,bot 对石英和依赖注入有 bean 样式使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2021-10-27
    相关资源
    最近更新 更多