亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

在Java Web項目中添加定時任務的方法

2024-07-13 10:17:02
字體:
來源:轉載
供稿:網友

在Java Web程序中加入定時任務,這里介紹兩種方式:1.使用監聽器注入;2.使用Spring注解@Scheduled注入。

推薦使用第二種形式。

一、使用監聽器注入

①:創建監聽器類:

import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class TimerDataTaskListener implements ServletContextListener {  @Override public void contextInitialized(ServletContextEvent servletContextEvent) {  new TimerManager(); }  @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { }}

②:創建定時任務類:

import java.util.Calendar;import java.util.Date;import java.util.Timer;public class TimerManager { //時間間隔:24h private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; public TimerManager() {  Calendar calendar = Calendar.getInstance();  //定制每日12:30:30執行  calendar.set(Calendar.HOUR_OF_DAY, 12);  calendar.set(Calendar.MINUTE, 30);  calendar.set(Calendar.SECOND, 30);  Date date = calendar.getTime();  //第一次執行定時任務的時間  //如果當前時間已經過去所定時的時間點,則在第二天時間點開始執行  if (date.before(new Date())) {   date = this.addDay(date, 1);  }  Timer timer = new Timer();  TimerTaskService task = new TimerTaskService();  //安排指定的任務在指定的時間開始進行重復的固定延遲執行。  timer.schedule(task, date, PERIOD_DAY); } // 增加或減少天數 private Date addDay(Date date, int num) {  Calendar startDT = Calendar.getInstance();  startDT.setTime(date);  startDT.add(Calendar.DAY_OF_MONTH, num);  return startDT.getTime(); }}

③:創建TimerTask類:

import java.util.TimerTask;public class TimerTaskService extends TimerTask { @Override public void run() {  try {   //要執行的任務邏輯寫在這里   System.out.println("插入密碼成功!");  } catch (Exception e) {   System.out.println("插入密碼失??!");  } }}

④:在web.xml注冊監聽器

<!-- TimerDataTaskListener 監聽器 --> <listener>  <listener-class>com.jsiqi.resume.service.TimerDataTaskListener</listener-class> </listener> 

二、使用spring注解注入

我項目的框架是Spring + SpringMVC + Mybatis

代碼示例:

import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;@Componentpublic class TimerTask {  @Scheduled(cron="*/30 * * * * *") // 間隔30秒執行 public void test(){  try {   //要執行的任務邏輯寫在這里   System.out.println("插入密碼成功!");  } catch (Exception e) {   System.out.println("插入密碼失??!");  } }}

關于定時時間的設置方式如下:

CronTrigger配置完整格式為: [秒] [分] [小時] [日] [月] [周] [年]示例:0 0 10,14,16 * * ? 每天上午10點,下午2點,4點0 0/30 9-17 * * ? 朝九晚五工作時間內每半小時0 0 12 ? * WED 表示每個星期三中午12點 "0 0 12 * * ?" 每天中午12點觸發 "0 15 10 ? * *" 每天上午10:15觸發 "0 15 10 * * ?" 每天上午10:15觸發 "0 15 10 * * ? *" 每天上午10:15觸發 "0 15 10 * * ? 2005" 2005年的每天上午10:15觸發 "0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鐘觸發 "0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發 "0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發 "0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發 "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發 "0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發 "0 15 10 15 * ?" 每月15日上午10:15觸發 "0 15 10 L * ?" 每月最后一日的上午10:15觸發 "0 15 10 ? * 6L" 每月的最后一個星期五上午10:15觸發 "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一個星期五上午10:15觸發 "0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發 

 

序號 說明 是否必填 允許填寫的值 允許的通配符
1 0-59 , - * /
2 0-59 , - * /
3 0-23 , - * /
4 1-31 , - * ? / L W
5 1-12或JAN-DEC , - * /
6 1-7或SUN-SAT , - * ? / L W
7 empty 或1970-2099 , - * /

 

通配符說明:

* 表示所有值. 例如:在分的字段上設置 "*",表示每一分鐘都會觸發

? 表示不指定值。使用的場景為不需要關心當前設置這個字段的值。

例如:要在每月的10號觸發一個操作,但不關心是周幾,所以需要周位置的那個字段設置為"?" 具體設置為 0 0 0 10 * ?

- 表示區間。例如 在小時上設置 "10-12",表示 10,11,12點都會觸發。

, 表示指定多個值,例如在周字段上設置 "MON,WED,FRI" 表示周一,周三和周五觸發

/ 用于遞增觸發。如在秒上面設置"5/15" 表示從5秒開始,每增15秒觸發(5,20,35,50)。 在月字段上設置'1/3'所示每月1號開始,每隔三天觸發一次。

L 表示最后的意思。在日字段設置上,表示當月的最后一天(依據當前月份,如果是二月還會依據是否是潤年[leap]), 在周字段上表示星期六,相當于"7"或"SAT"。如果在"L"前加上數字,則表示該數據的最后一個。例如在周字段上設置"6L"這樣的格式,則表示“本月最后一個星期五"

W 表示離指定日期的最近那個工作日(周一至周五). 例如在日字段上設置"15W",表示離每月15號最近的那個工作日觸發。如果15號正好是周六,則找最近的周五(14號)觸發, 如果15號是周未,則找最近的下周一(16號)觸發.如果15號正好在工作日(周一至周五),則就在該天觸發。如果指定格式為 "1W",它則表示每月1號往后最近的工作日觸發。如果1號正是周六,則將在3號下周一觸發。(注,"W"前只能設置具體的數字,不允許區間"-").

# 序號(表示每月的第幾個周幾),例如在周字段上設置"6#3"表示在每月的第三個周六.注意如果指定"#5",正好第五周沒有周六,則不會觸發該配置(用在母親節和父親節再合適不過了) ;

小提示:
'L'和 'W'可以組合使用。如果在日字段上設置"LW",則表示在本月的最后一個工作日觸發;
周字段的設置,若使用英文字母是不區分大小寫的,即MON 與mon相同;

參考:

https://www.cnblogs.com/liaojie970/p/5913272.html

http://prisonbreak.iteye.com/blog/2247216


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性色xo影院| 成人午夜激情免费视频| 欧美精品久久久久久久久久| 免费不卡欧美自拍视频| 国产精品视频色| 成人久久一区二区| 欧美电影第一页| 性色av一区二区三区在线观看| 国产欧美日韩中文字幕| 国产成人精品优优av| 久久久国产精品视频| 91精品国产高清久久久久久久久| 成年无码av片在线| 精品久久久久久中文字幕| 欧美激情一级欧美精品| 亚洲视频在线播放| 日韩免费av片在线观看| 久色乳综合思思在线视频| 国产精品亚洲网站| 日韩激情av在线免费观看| 亚洲免费成人av电影| 97色在线观看免费视频| 亚洲香蕉在线观看| 亚洲精品www久久久| 亚洲国产精品免费| 日韩在线观看免费网站| 欧美一区二区大胆人体摄影专业网站| 91久久精品国产91性色| 亚洲激情久久久| 91av免费观看91av精品在线| 精品成人久久av| 国产精品一区二区久久精品| 96国产粉嫩美女| 中文一区二区视频| 久久成人这里只有精品| 精品视频www| 亚洲精品一区二区三区不| 九九热99久久久国产盗摄| 亚洲乱码av中文一区二区| 国产高清在线不卡| 午夜免费久久久久| 欧美精品第一页在线播放| 国产精品小说在线| 国产视频观看一区| 成人免费xxxxx在线观看| 668精品在线视频| 欧美视频中文字幕在线| 亚洲图片在线综合| 国产在线视频91| 国产国语videosex另类| 久久精品中文字幕| 欲色天天网综合久久| 亚洲欧洲在线观看| 日韩中文字幕网站| 欧美尤物巨大精品爽| 欧美性猛交xxxx偷拍洗澡| 欧美激情精品久久久久久蜜臀| 欧美日韩激情视频8区| 日韩精品欧美激情| 久热爱精品视频线路一| 日本一区二三区好的精华液| 亚洲精品国精品久久99热| 97精品在线观看| 中文字幕日韩精品在线| 欧美激情在线一区| 日韩av片永久免费网站| 亚洲人午夜精品免费| 91高清免费在线观看| 成人网在线视频| 欧美激情免费在线| 中文字幕日韩精品在线观看| 欧美黄色成人网| 91精品国产91久久| 日韩av电影在线免费播放| 丁香五六月婷婷久久激情| 日韩视频免费看| 原创国产精品91| 这里只有精品在线播放| 亚洲精品欧美日韩专区| 精品小视频在线| 欧美噜噜久久久xxx| 国产999在线| 欲色天天网综合久久| 久久久之久亚州精品露出| 欧美性生交xxxxx久久久| 国产成人亚洲综合| 日韩av在线免费观看| 亚洲wwwav| 日韩精品高清视频| 欧美激情亚洲一区| 中文字幕精品国产| 欧美成人午夜免费视在线看片| 亚洲天堂男人天堂| 国产精品黄页免费高清在线观看| 国产精品视频精品视频| 91亚洲午夜在线| 亚洲欧美中文日韩在线| 欧美二区乱c黑人| 免费av一区二区| 最近2019年日本中文免费字幕| 国产精品444| 欧美国产极速在线| 国内精久久久久久久久久人| 国产香蕉97碰碰久久人人| 国产日韩欧美在线视频观看| 欧美与黑人午夜性猛交久久久| 国产丝袜精品视频| 亚洲缚视频在线观看| 国产精品青草久久久久福利99| 九九热这里只有在线精品视| 欧美一级淫片aaaaaaa视频| 日韩一区二区欧美| 久久国产精品视频| 久久久久久香蕉网| 精品av在线播放| 91日本在线观看| 国产亚洲精品91在线| 懂色av影视一区二区三区| 色婷婷综合久久久久中文字幕1| 亚洲精品乱码久久久久久按摩观| 亚洲精品欧美极品| 揄拍成人国产精品视频| 免费不卡在线观看av| 日韩在线视频网站| 国产午夜精品一区二区三区| 亚洲国产日韩欧美在线动漫| 成人精品久久一区二区三区| 伊人激情综合网| 欧美黑人巨大xxx极品| 久久久国产影院| 亚洲色无码播放| 91在线视频免费| 欧美激情精品在线| 成人欧美一区二区三区黑人孕妇| 久久久免费高清电视剧观看| 久久露脸国产精品| 91免费人成网站在线观看18| 欧美亚洲日本网站| 亚洲国产精品热久久| 亚洲日本成人女熟在线观看| 精品视频在线播放免| 青青久久av北条麻妃黑人| 欧美精品中文字幕一区| 日韩网站免费观看| 日韩久久精品电影| 色老头一区二区三区| 亚洲最大av网| 国产日韩在线看| 欧美午夜片在线免费观看| 91精品啪aⅴ在线观看国产| 最近2019中文字幕第三页视频| 国产精品专区h在线观看| 国产日韩欧美在线看| 亚洲精品色婷婷福利天堂| 精品激情国产视频| 亚洲综合中文字幕在线| 日韩精品在线观看一区二区| 国产视频精品va久久久久久| 亚洲人在线观看| 秋霞成人午夜鲁丝一区二区三区| 狠狠操狠狠色综合网| 欧美日韩国内自拍| 日韩在线观看免费网站| 在线观看国产精品日韩av|