2 flaglink FLAGlink 于 2013.12.12 22:44 提问

quartz 2.2.1 为什么不会执行myjob中的函数

代码如下:
myjob拓展了job接口,可是程序执行的时候没有执行myjob中的print

public class QuartzTest {

public void run() throws Exception {

    // 调度工厂   
    SchedulerFactory sf = new StdSchedulerFactory();   

    // 从工厂中,获取一个任务调度实体   
    Scheduler sched = sf.getScheduler();   

    // 定义任务运行时间,这里的话,你需要改成你想要任务在什么时候执行   
    Date runTime = DateBuilder.evenSecondDate(new Date());   
    System.out.println("任务将在:" + runTime + "执行");   

    // 初始化任务实体   
    JobDetail job = JobBuilder.newJob(MyJob.class)   
                        .withIdentity("job1", "group1")   
                        .build();   

    // 初始化触发器   
   Trigger trigger = TriggerBuilder   
                        .newTrigger()   
                        .withIdentity("trigger1", "group1")   
                        .startAt(runTime)   
                        .build();   

    // 设置定时任务   
    sched.scheduleJob(job, trigger);   

    // 启动定时任务   
    sched.start();   

    try {   
        Thread.sleep(10000L);   
    } catch (Exception e) {   
    }   

    // 停止   
    sched.shutdown(true);   
}   

public static void main(String[] args) throws Exception {   
    QuartzTest example = new QuartzTest();   
    example.run();   
}   

}

class MyJob implements Job {

@Override

public void execute(JobExecutionContext context) throws JobExecutionException {

System.out.println("任务正在执行,执行时间: " + Calendar.getInstance().getTime());

}

}

1个回答

yangshuan123
yangshuan123   2014.09.12 13:18

MyJob.class,这里写错了,应该是实例.getClass()

Csdn user default icon
上传中...
上传图片
插入图片