任务调度2-----Java中使用Quartz框…

来源:互联网 发布:个人开个淘宝要多少钱 编辑:程序博客网 时间:2024/05/18 03:08

1、所用Quartz框架,所需引入:

     quartz-1.6.5.jar

2、Java程序使用Quartz

  •   首次,定义任务类实现Job接口,实现其execute()方法

   public class JavaJobimplements Job {

      public void execute(JobExecutionContext context) throwsJobExecutionException {
  
      Stringname=context.getJobDetail().getJobDataMap().getString("name");
      System.out.println("job excuting .."+name);

      }

  }

  • 其次,调用任务步骤 :

          1、创建定时任务的描述对象JobDetail;

           2、创建触发器SimpleTrigger,例如:执行10次,每三秒执行一次

          3、创建定时器Scheduler;

          4、将定时任务加入定时器中;

          5、启动定时器开始执行任务。

  •  调用实例如下:  

           import org.quartz.JobDetail;
           import org.quartz.Scheduler;
           import org.quartz.SchedulerException;
          import org.quartz.SimpleTrigger;
          import org.quartz.impl.StdSchedulerFactory;

         public class Test {

          
      public static void main(String[] args) throws SchedulerException{
                Test test=new Test();
                //创建任务
               JobDetailjobDetail=newJobDetail("javaJob",Scheduler.DEFAULT_GROUP,JavaJob.class);
              //创建触发器 间隔3秒执行10次
             SimpleTrigger trigger=newSimpleTrigger("test",null,10,3000);
              //创建任务调度器
            Schedulersheduler=StdSchedulerFactory.getDefaultScheduler();
           //将任务与触发器装载到调度器内
           sheduler.scheduleJob(jobDetail, trigger);
            //启动调度器
          sheduler.start();  

            }

          }

 3、web应用中使用Quartz

  •    Quartz在web应用中提供了QuartzInitializerServlet,用于在web加载时对Quartz进行初始化

         
          <servlet>
   <servlet-name>QuartzInitializer</servlet-name>
   <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
   <init-param>
     <param-name>shutdown-on-unload</param-name>
     <param-value>true</param-value>
   </init-param>
   <init-param>
    <param-name>config-file</param-name>
    <param-value>quartz.properties</param-value>
   </init-param>
   <load-on-startup>2</load-on-startup>
 </servlet>

0 0
原创粉丝点击