quartz实现定时任务


  1. pom.xml 引入maven 依赖
<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.2.3</version>
</dependency>
  1. pom.xml注册监听器
    ps:项目实际实现 ServletContextListener 接口的类的全路径
<listener>
    <listener-class>xxx.xxx.xxListener</listener-class>
</listener>
  1. java 代码实现(共涉及三个 .java 文件)

    AbcAcountTaskActiveStart.java (创建Schedeler,定义执行规则)
       在线生成cron规则网站: http://cron.qqe2.com/

publlic class AbcAcountTaskActiveStart{
  public void start(){
    try{
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        scheduler.start();
        JobDetail job = JobBuilder.newJob(AbcAountActiveTaskJob.class).withIdentity("tbl_upmgm_day_trade_statistice","spp_day").build();
        String cron = "0 0 0 1-31 * ?"; //每天凌晨执行
        CranTriggrt tigger = newTrigger().withIdentity("dayTrigger","spp_day").withSchedule(cronSchedule(cron)).build();
        scheduler.scheduleJob(job,trigger);
        }catch(Throwable e){
        //日志打印异常,定时器服务错误
        }
    }
}

AbcAountActiveTaskJob.java (实际任务中要执行的代码)

public class AbcAountActiveTaskJob implements Job {
    public void execute(JobExecutionContext context)throws JobExecutionException{
        //具体要实现的代码
    }
}

SchedulerListener.java (注册监听,全路径对应web.xml 监听器路径)

public class SchedulerListener implements ServletContextListener{
    public void contextDestroyed(ServletContextEvent arg0){
    }
    public void contextInitialized (ServletContextEvent arg0){
        new AbcAcountTaskActiveStart().start();
    }
}

如有错误,还望各界大佬不吝赐教!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章