如何在石英调度程序中暂停工作?

Hem*_*lia 3 java spring quartz-scheduler

您好我正在创建一个基于cron表达式执行类方法的应用程序.为此,我使用spring quartz,我必须在我的spring文件中配置所有这些东西,它工作正常,并且作业正在基于cron表达式执行,但现在我想暂停基于java类的特定作业的下一次执行从UI中选择用户.那有什么办法可以做到这一点?

我可以在上下文中获得所有正在运行的工作的详细信息吗?如果是这样,那么我可以过滤作业并尝试暂停该作业以便下次执行.

Ant*_*oly 7

注入SchedulerFactoryBean.使用它的getScheduler方法获取石英计划程序并使用rescheduleJob或quartz API中的其他方法来执行您的任务.


Hem*_*lia 5

我通过使用以下代码使其工作

stdScheduler是scheduleFactoryBean

 String groupnames[] = stdScheduler.getJobGroupNames();
 for (String groupName : groupnames) {
     String[] jobNames = stdScheduler.getJobNames(groupName);
     for (String jobName : jobNames) {
            if (jobName.equals("jobName")) {
                    stdScheduler.pauseJob(jobName, groupName);
            }
     }
 }          
Run Code Online (Sandbox Code Playgroud)


小智 5

我们可以使用stdScheduler.pauseJob(JobKey jobKey)方法来减少上面代码中提到的循环数