问题描述
- quartz 2.2.1 为什么不会执行myjob中的函数
-
代码如下:
myjob拓展了job接口,可是程序执行的时候没有执行myjob中的printpublic 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());
}
}
解决方案
MyJob.class,这里写错了,应该是实例.getClass()
时间: 2024-11-02 00:42:12