quartz定时执行任务,并配置web.xml的操作方法

发布时间 - 2026-01-11 02:10:58    点击率:

今天项目上需要做个定时任务,临时学的,quartz的功能还是很强大用起来也方便,这里的demo只是实现每天定时执行一次,其他功能可以在此基础上继续深入学习,哈哈 睡觉,明天继续。

一、maven依赖:

<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.2.3</version>
 </dependency>
 <dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz-jobs</artifactId>
  <version>2.2.3</version>
 </dependency>

二、Doem:

TimingTaskSchedule需要实现ServletContextListener接口,监听后启动项目时的启动类

package com.thinkgem.jeesite.modules.sys.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class TimingTaskSchedule implements ServletContextListener{

  // 服务器启动时执行该事件
  @Override
  public void contextInitialized(ServletContextEvent arg0) {
    try {
      QuartzLoad.run();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  // 服务器停止时执行该事件
  @Override
  public void contextDestroyed(ServletContextEvent arg0) {
    try {
      QuartzLoad.stop();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

}

这里的 0 0 0 ? * * 表示每天00:00:00执行一次

从左到右分别表示 秒 分 时 日 月 周 年

?表示不关心 *表示每 年可以忽略不写

package com.thinkgem.jeesite.modules.sys.listener;

import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;
import com.thinkgem.jeesite.modules.sys.listener.job;

public class QuartzLoad {
  private static Scheduler sched; 
  public static void run() throws Exception { 
    System.out.println("定时任务启动");
    JobDetail jobDetail = JobBuilder.newJob((Class<? extends Job>) job.class)
        .withIdentity("myjob", "group1").build();
    CronTrigger trigger =(CronTrigger) TriggerBuilder.newTrigger()
        .withIdentity("trigger", "group1")
        .withSchedule(CronScheduleBuilder.cronSchedule("0 0 0 ? * *"))
        .build();
    SchedulerFactory sfact = new StdSchedulerFactory();
    Scheduler schedule = sfact.getScheduler();
    schedule.start();
    schedule.scheduleJob(jobDetail, trigger);
  }
  //停止 
  public static void stop() throws Exception{ 
      sched.shutdown(); 
   } 
}

Job中就是自己的业务处理

package com.thinkgem.jeesite.modules.sys.listener;

import java.text.SimpleDateFormat;
import java.util.Date;import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class job implements Job{
public void execute(JobExecutionContext arg0) throws JobExecutionException {
    Date date=new Date();
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println("Time:"+sf.format(date));
    System.out.println("Hello");

      }
    }
  }
}

三、web.xml监听:

com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule

<listener>
  <listener-class>com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule</listener-class>
 </listener>

以上这篇quartz定时执行任务,并配置web.xml的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# quartz  # web.xml配置  # quartz实现定时功能实例详解(servlet定时器配置方法)  # Java Web项目中编写定时任务的实现  # 给大家  # 自己的  # 希望能  # 很强  # 做个  # 这篇  # 来也  # 小编  # 在此基础上  # 启动时  # 大家多多  # 不写  # 不关心  # 操作方法  # 大用  # 明天  # import  # servlet  # javax  # implements 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  Laravel如何使用Blade组件和插槽?(Component代码示例)  如何快速生成橙子建站落地页链接?  重庆市网站制作公司,重庆招聘网站哪个好?  如何做网站制作流程,*游戏网站怎么搭建?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  晋江文学城电脑版官网 晋江文学城网页版直接进入  香港服务器租用每月最低只需15元?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  在Oracle关闭情况下如何修改spfile的参数  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  javascript日期怎么处理_如何格式化输出  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何登录建站主机?访问步骤全解析  jquery插件bootstrapValidator表单验证详解  网站优化排名时,需要考虑哪些问题呢?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何在VPS电脑上快速搭建网站?  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  北京专业网站制作设计师招聘,北京白云观官方网站?  如何为不同团队 ID 动态生成多个非值班状态按钮  如何快速搭建自助建站会员专属系统?  Laravel如何创建自定义Facades?(详细步骤)  JavaScript如何实现音频处理_Web Audio API如何工作?  简单实现jsp分页  Laravel如何处理异常和错误?(Handler示例)  微信h5制作网站有哪些,免费微信H5页面制作工具?  北京网站制作的公司有哪些,北京白云观官方网站?  ,在苏州找工作,上哪个网站比较好?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  浅谈Javascript中的Label语句  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  Laravel如何使用Vite进行前端资源打包?(配置示例)  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  如何在IIS中配置站点IP、端口及主机头?  如何在云主机上快速搭建网站?