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();
    }
}

(后续有时间会把注释加上^-^)

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

猜你喜欢

转载自blog.csdn.net/zheng_xiao_xin/article/details/80694095