Lesson 1: Using Quartz

来源:互联网 发布:php在线升级原理 编辑:程序博客网 时间:2024/06/06 09:34

Lesson 1: Using Quartz 课程1:Quartz的使用

Before you can use the scheduler, it needs to be instantiated (who’d have guessed?). To do this, you use a SchedulerFactory. Some users of Quartz may keep an instance of a factory in a JNDI store, others may find it just as easy (or easier) to instantiate and use a factory instance directly (such as in the example below).

可以使用调度程序之前,它需要被初始化(谁能想不到呢?)。初始化,你使用SchedulerFactory。

Once a scheduler is instantiated, it can be started, placed in stand-by mode, and shutdown. Note that once a scheduler is shutdown, it cannot be restarted without being re-instantiated. Triggers do not fire (jobs do not execute) until the scheduler has been started, nor while it is in the paused state.

Here’s a quick snippet of code, that instantiates and starts a scheduler, and schedules a job for execution:

  SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();  Scheduler sched = schedFact.getScheduler();  sched.start();  // define the job and tie it to our HelloJob class  JobDetail job = newJob(HelloJob.class)      .withIdentity("myJob", "group1")      .build();  // Trigger the job to run now, and then every 40 seconds  Trigger trigger = newTrigger()      .withIdentity("myTrigger", "group1")      .startNow()      .withSchedule(simpleSchedule()          .withIntervalInSeconds(40)          .repeatForever())      .build();  // Tell quartz to schedule the job using our trigger  sched.scheduleJob(job, trigger);

As you can see, working with quartz is rather simple. In Lesson 2 we’ll give a quick overview of Jobs and Triggers, and Quartz’s API so that you can more fully understand this example.

0 0
原创粉丝点击