1,首先添加对quartz组建的引用 quartz-2.2.3.jar,slf4j-api-1.7.7.jar

https://files.cnblogs.com/files/renjing/quartz.zip

2,新增类实现job接口

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException; public class TestJob implements Job { private static final Logger logger = LogManager.getLogger(TestJob.class); @Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
logger.debug("TestJob执行啦!");
}
}

3.新增一个Servlet,并且设置为在网站启动的时候自动初始化

import java.util.TimeZone;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory; //loadOnStartup表示:网站启动的时候自动初始化QuartzInitServlet(即init被调用)
@WebServlet(value = "/QuartzInitServlet", loadOnStartup = 1)
public class QuartzInitServlet extends HttpServlet { private static final Logger logger = LogManager.getLogger(QuartzInitServlet.class);
@Override
public void init() throws ServletException {
super.init(); try
{
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
JobDetail job = JobBuilder.newJob(TestJob.class).build();
CronScheduleBuilder cronScheduleBuilder =
CronScheduleBuilder.cronSchedule("0 0 0/1 * * ? ").inTimeZone(TimeZone.getTimeZone("GMT+08:00"));//每小时执行一次
//CronScheduleBuilder.cronSchedule("10/5 * * * * ? ").inTimeZone(TimeZone.getTimeZone("GMT+08:00"));//从10秒开始,每隔5秒执行一次
//CronScheduleBuilder.cronSchedule("45 53 23 * * ? ").inTimeZone(TimeZone.getTimeZone("GMT+08:00"));//每天23:53:45
//CronScheduleBuilder.dailyAtHourAndMinute(23, 48).inTimeZone(TimeZone.getTimeZone("GMT+08:00"));
CronTrigger trigger = TriggerBuilder.newTrigger().withSchedule(cronScheduleBuilder).build();
scheduler.scheduleJob(job, trigger);
scheduler.start();//不要忘了启动
}
catch(Throwable ex)
{
logger.error("定时任务安排出错",ex);
}
}
}

最新文章

  1. Eclipse 日期和时间格式自定义
  2. [正则表达式]PCRE环视功能
  3. 用CAShapeLayer实现一个简单的饼状图(PieView)
  4. Intent传递list<bean>集合
  5. POJ 1741 Tree (树的点分治入门)
  6. 深入了解view以及自定义控件
  7. Mysql主从库同步错误:1062 Error 'Duplicate entry '1438019'
  8. php对象
  9. Android核心分析之二十一Android应用框架之AndroidApplication
  10. spring data redis使用示例
  11. 常用JVM配置参数
  12. Drupal7模块multiselect使用
  13. 关于使用JQuery追加Option标签时使用三元运算符添加选中属性的解决办法
  14. postfix 邮箱设置及常见错误
  15. .NET Core Session的使用方法
  16. luogu P2181 对角线
  17. Web开发笔记 #08# Jackson组合多个对象的属性构成JSON(以及添加自定义属性)
  18. VS插件VisualSVN v5.2.3.0 破解文件
  19. UVALive.3708 Graveyard (思维题)
  20. 区间DP【p4290】[HAOI2008]玩具取名

热门文章

  1. FOJ有奖月赛-2016年8月(daxia专场之过四题方有奖)
  2. jenkins--svn基本使用
  3. HDU - 1260 (Tickets)
  4. ACM-ICPC 2018 焦作赛区网络预赛 E Jiu Yuan Wants to Eat (树链剖分+线段树)
  5. bzoj 2202 [HNOI2010] Bounce 弹飞绵羊(分块)
  6. 自学Zabbix之路15.3 Zabbix数据库表结构简单解析-Triggers表、Applications表、 Mapplings表
  7. [ZJOI2007]矩阵游戏——非常漂亮的二分图转化
  8. [CF1091D]New Year and the Permutation Concatenation
  9. C#反射遍历/查询类中的属性以及值
  10. 初次认识:Transfer-Encoding: chunked