Quartz的简单使用

优秀的地址https://blog.csdn.net/noaman_wgs/article/details/80984873

一、介绍

Quartz是一款非常强大的定时任务管理器,支持事务、支持持久化、支持并发,对job任务可以更加进行细粒度的编写,提供context中的内容

,tigger调度器可以对job的执行次数、执行周期以及执行时间都可以进行控制。

二、组件

调度器、scheduler

任务、jobDetail

触发器、trigger (simperTrigger\CronTigger)

 // 1、创建调度器Scheduler
        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
        Scheduler scheduler = schedulerFactory.getScheduler();
        // 2、创建JobDetail实例,并与PrintWordsJob类绑定(Job执行内容)
        JobDetail jobDetail = JobBuilder.newJob(PrintWordsJob.class)
                                        .withIdentity("job1", "group1").build();
        // 3、构建Trigger实例,每隔1s执行一次
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "triggerGroup1")
                .startNow()//立即生效
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                .withIntervalInSeconds(1)//每隔1s执行一次
                .repeatForever()).build();//一直执行

        //4、执行
        scheduler.scheduleJob(jobDetail, trigger);
        System.out.println("--------scheduler start ! ------------");
        scheduler.start();

        //睡眠
        TimeUnit.MINUTES.sleep(1);
        scheduler.shutdown();
        System.out.println("--------scheduler shutdown ! ------------");

定义了组,在执行过程中有什么作用吗?
比如,我有200个JOB,我把他们分别归到8个组里面,是不是可以让每个组的所有JOB在独立的线程中运行?

猜你喜欢

转载自www.cnblogs.com/fc520/p/11942141.html