为了账号安全,请及时绑定邮箱和手机立即绑定

HelloJob的实例是怎么创建出来的?

先定义了一个HellJob的任务类,然后创建JobDetail的实例与此类进行绑定,在然后scheduler调用什么方法创建的实例呢?

正在回答

1 回答

//启动任务调度程序,内部机制是线程的启动
  scheduler.start();

具体代码如下,供参考:

//从调度程序工厂获取一个调度程序的实例
           Scheduler  scheduler  = StdSchedulerFactory.getDefaultScheduler();

           //显示调度程序的名称(这里会展示我们在quartz.properties文件中的名称)
           System.out.println("scheduleName = " + scheduler.getSchedulerName());


           /** 重要:
            *  定义一个job,并绑定到我们自定义的HelloJob的class对象
            *  这里并不会马上创建一个HelloJob实例,实例创建是在scheduler安排任务触发执行时创建的
            *  这种机制也为后面使用Spring集成提供了便利
            */
             JobDetail job = newJob(HelloJob.class)                  .withIdentity("job1", "group1")                  .build();

             // 声明一个触发器,现在就执行(schedule.start()方法开始调用的时候执行);并且每间隔2秒就执行一次
             Trigger trigger = newTrigger()                  .withIdentity("trigger1", "group1")                  .startNow()                        .withSchedule(simpleSchedule()                          .withIntervalInSeconds(2)                          .repeatForever())            
                 .build();

             // 告诉quartz使用定义的触发器trigger安排执行任务job
             scheduler.scheduleJob(job, trigger);

           //启动任务调度程序,内部机制是线程的启动
           scheduler.start();

           //关闭任务调度程序,如果不关闭,调度程序schedule会一直运行着
           //scheduler.shutdown();


0 回复 有任何疑惑可以回复我~
#1

我叫杨云龙 提问者

非常感谢!
2018-03-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

HelloJob的实例是怎么创建出来的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信