突发奇想给系统里面添加一套可视化管理任务调度的功能 最后选用quatz来实现 他的优点就不一一赘述了。 首先写了一个demo用来启动定时器的demo 记录一下 废话不多说上代码:
step1:创建一个job
public class myJob implements Job{
public void timerTask() {
System.out.println("@@@@@@@@@@@@@@@@@@@test");
}
public void execute(JobExecutionContext arg0) throws JobExecutionException {
timerTask();
}
}
这样一个job就创建好了
step2:实现调度
public class createTask {
public static void main(String args[]) throws InstantiationException, IllegalAccessException, ClassNotFoundException, ParseException, SchedulerException {
CreateTask();
}
private static void CreateTask() throws InstantiationException, IllegalAccessException,
ClassNotFoundException, ParseException, SchedulerException {
Job job = (Job) Class.forName("mian.java.myJob").newInstance(); //获取到job
addCronTask("test", "test", job, new CronExpression("*/2 * * * * ?"));
}
private static void addCronTask(String groupName, String jobName, Job job, CronExpression expression)
throws SchedulerException {
JobDetail jobDetail = new JobDetail(jobName, groupName, job.getClass()); //job实例
CronTrigger cronTrigger = new CronTrigger(groupName, jobName); //触发器
cronTrigger.setCronExpression(expression);
SchedulerFactory schedulerFactory = new StdSchedulerFactory(); //调度工厂
Scheduler scheduler = schedulerFactory.getScheduler(); //得到一个调度器
scheduler.scheduleJob(jobDetail, cronTrigger); //设置调度任务与时间
scheduler.start();
// scheduler.shutdown(); //启动调度
}
其实总结一下 流程就是:
创建一个job的实现类,然后创建schedulerFactory 得到Scheduler 设置job和触发器 启动就好了。
}