在下不善言辞直接上代码吧,如有疑问欢迎在评论区留言,谢谢!!
- pom.xml 引入maven 依赖
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
- pom.xml注册监听器
ps:项目实际实现 ServletContextListener 接口的类的全路径
<listener>
<listener-class>xxx.xxx.xxListener</listener-class>
</listener>
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();
}
}
(后续有时间会把注释加上^-^)
如有错误,还望各界大佬不吝赐教!!!