2

我有一个有很多工作的调度程序。我希望能够显示调度程序中的所有活动作业,我的意思是我想显示每个作业何时被触发。这是我的代码:

        sched.start();                

        JobDetail job = newJob(Jobs.class)
        .withIdentity(job_name_, "default") 
        .usingJobData("job_type", job_type_)            
        .build();

         Trigger trigger = newTrigger()
        .withIdentity(job_name_, "default")
        .startNow()                
        .withSchedule(cronSchedule(date_time_)) 
        .build();

        sched.scheduleJob(job, trigger);      

如何才能做到这一点?我如何从作业的触发器中获取 cron 表达式?还有一种方法可以将 cron 表达式视为日期或比表达式本身更详细的东西吗?

任何帮助都会得到回报,

提前致谢。

4

1 回答 1

6

所有的 API 都在那里:

Trigger t = scheduler.getTrigger(new TriggerKey(job_name_, "default"))

返回的Trigger类有getNextFireTime(). 子类化它以获得 CRON 表达式:

((CronTrigger)t).getCronExpression();

具有您需要的Scheduler所有其他方法:

于 2012-03-14T09:51:00.227 回答