如何动态重新安排石英工作

时间:2016-12-29 12:46:17

标签: java quartz-scheduler quartz-core

我正在尝试动态更新石英作业调度:

最初是每3分钟一次,但动态地我想让它达到1分钟。

这是我的quartz.xml和java文件

quartz.xml

    <schedule>
        <job>
            <name>JOBNAME</name>
            <group>GroupDummy</group>
            <description>This is Job B</description>
            <job-class>in.xyz.MyClass.java</job-class>
        </job>

        <trigger>
            <cron>           
                <name>dummyTriggerNameB</name>
                <group>MYTRIGGER_GROUP</group>
                <job-name>JOBNAME</job-name>
                <job-group>GroupDummy</job-group>
                <cron-expression>0 0/3 * * * ?</cron-expression>
            </cron>
        </trigger>
    </schedule>

MyClass.java

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        CronTrigger cronTrigger = (CronTrigger) scheduler.getTrigger("dummyTriggerNameB", "MYTRIGGER_GROUP");
        CronExpression cronExpression = new CronExpression("0 0/1 * * * ?");
        cronTrigger.setCronExpression(cronExpression);
        scheduler.rescheduleJob("dummyTriggerNameB", "MYTRIGGER_GROUP", cronTrigger);
    }

我正在尝试使用上面的java代码动态地将时间从3分钟更改为1分钟但是没有发生“cronTrigger”返回null。

帮助解决此问题,以便我可以动态重新安排。

0 个答案:

没有答案