- 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();
}
}
如有錯誤,還望各界大佬不吝賜教!!!