Quartz实现定时任务实例

1首先实现Job接口,创建任务

public class HelloJob implements Job{

    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        JobDetail jobDetail = context.getJobDetail();
        String name = jobDetail.getJobDataMap().getString("name");        
        System.out.println(name+":"+new Date());        
    }
}

2实现具体定时任务

public class QuartzTest {

    public static void main(String[] args) throws Exception {

        JobDetail job=newJob()
                .ofType(HelloJob.class) //引用Job Class
                .withDescription("this is a test job") //任务描述
                .build();

            job.getJobDataMap().put("name", "mytimer"); //加入属性name到JobDataMap

            //定义一个每秒执行一次的SimpleTrigger触发器
            Trigger trigger=newTrigger()
                    .startNow()
                    .withIdentity("trigger")
                    .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))
                    .build();

            //获取默认调度器
            Scheduler sche=StdSchedulerFactory.getDefaultScheduler();
            sche.scheduleJob(job, trigger);

            sche.start();

            System.in.read();
            sche.shutdown();
    }
}

 

posted @ 2017-10-30 14:30  疯狂的蜗牛仔  阅读(224)  评论(0编辑  收藏  举报