日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
淺談Spring中的Quartz配置

首先我們來寫一個(gè)被調(diào)度的類: package com.kay.quartz;

創(chuàng)新互聯(lián)建站“設(shè)計(jì)定江山,服務(wù)贏天下“的思想,用細(xì)節(jié)和態(tài)度獲得客戶的認(rèn)可與同行的尊重,服務(wù)是創(chuàng)新互聯(lián)建站企業(yè)文化中重要的核心思想,每一位員工要致力成為客戶心中堅(jiān)實(shí)的服務(wù)后盾。

 
 
 
  1. public class QuartzJob  
  2. {  
  3.     public void work()  
  4.     {  
  5.     System.out.println("Quartz的任務(wù)調(diào)度?。?!");  
  6.     }  

Spring的Quartz配置文件:

 
 
 
  1.  version="1.0" encoding="UTF-8"?> 
  2. > 
  3.  
  4.       
  5.          
  6.          id="quartzJob" class="com.kay.quartz.QuartzJob"> 
  7.          
  8.          id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
  9.              
  10.              name="targetObject"> 
  11.                  bean="quartzJob"/> 
  12.              
  13.              
  14.              name="targetMethod"> 
  15.                 work 
  16.              
  17.          
  18.          
  19.          id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
  20.              name="jobDetail"> 
  21.                  bean="jobtask"/> 
  22.              
  23.              
  24.              name="cronExpression"> 
  25.                 10,15,20,25,30,35,40,45,50,55 * * * * ? 
  26.              
  27.          
  28.          
  29.          id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
  30.              name="triggers"> 
  31.                  
  32.                      bean="doTime"/> 
  33.                  
  34.              
  35.          
  36.       
  37. 測(cè)試程序:  
  38. package com.kay.quartz;  
  39. import org.springframework.context.ApplicationContext;  
  40. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  41.  
  42. public class MainTest  
  43. {  
  44.     /**  
  45.      * @param args  
  46.      */  
  47.     public static void main(String[] args)  
  48.     {  
  49.         System.out.println("Test start.");  
  50.         ApplicationContext context = new ClassPathXmlApplicationContext("quartz-config.xml");  
  51.         //如果配置文件中將startQuertz bean的lazy-init設(shè)置為false 則不用實(shí)例化  
  52.         //context.getBean("startQuertz");  
  53.         System.out.print("Test end..");        
  54.     }  

我們需要把log4j的配置文件放入src目錄下,啟動(dòng)main類就可以了。

關(guān)于cron表達(dá)式(來自網(wǎng)絡(luò)):

Cron 表達(dá)式包括以下 7 個(gè)字段:



小時(shí)
月內(nèi)日期

周內(nèi)日期
年(可選字段)
特殊字符

Cron 觸發(fā)器利用一系列特殊字符,如下所示:

反斜線(/)字符表示增量值。例如,在秒字段中“5/15”代表從第 5 秒開始,每 15 秒一次。

問號(hào)(?)字符和字母 L 字符只有在月內(nèi)日期和周內(nèi)日期字段中可用。問號(hào)表示這個(gè)字段不包含具體值。所以,如果指定月內(nèi)日期,可以在周內(nèi)日期字段中插入“?”,表示周內(nèi)日期值無關(guān)緊要。字母 L 字符是 last 的縮寫。放在月內(nèi)日期字段中,表示安排在當(dāng)月最后一天執(zhí)行。在周內(nèi)日期字段中,如果“L”單獨(dú)存在,就等于“7”,否則代表當(dāng)月內(nèi)周內(nèi)日期的最后一個(gè)實(shí)例。所以“0L”表示安排在當(dāng)月的最后一個(gè)星期日?qǐng)?zhí)行。

在月內(nèi)日期字段中的字母(W)字符把執(zhí)行安排在最靠近指定值的工作日。把“1W”放在月內(nèi)日期字段中,表示把執(zhí)行安排在當(dāng)月的第一個(gè)工作日內(nèi)。

井號(hào)(#)字符為給定月份指定具體的工作日實(shí)例。把“MON#2”放在周內(nèi)日期字段中,表示把任務(wù)安排在當(dāng)月的第二個(gè)星期一。

星號(hào)(*)字符是通配字符,表示該字段可以接受任何可能的值。
字段 允許值 允許的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小時(shí) 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可選) 留空, 1970-2099 , - * /
表達(dá)式意義
"0 0 12 * * ?" 每天中午12點(diǎn)觸發(fā)
"0 15 10 ? * *" 每天上午10:15觸發(fā)
"0 15 10 * * ?" 每天上午10:15觸發(fā)
"0 15 10 * * ? *" 每天上午10:15觸發(fā)
"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發(fā)
"0 * 14 * * ?" 在每天下午2點(diǎn)到下午2:59期間的每1分鐘觸發(fā)
"0 0/5 14 * * ?" 在每天下午2點(diǎn)到下午2:55期間的每5分鐘觸發(fā)
"0 0/5 14,18 * * ?" 在每天下午2點(diǎn)到2:55期間和下午6點(diǎn)到6:55期間的每5分鐘觸發(fā)
"0 0-5 14 * * ?" 在每天下午2點(diǎn)到下午2:05期間的每1分鐘觸發(fā)
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發(fā)
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發(fā)
"0 15 10 15 * ?" 每月15日上午10:15觸發(fā)
"0 15 10 L * ?" 每月最后一日的上午10:15觸發(fā)
"0 15 10 ? * 6L" 每月的最后一個(gè)星期五上午10:15觸發(fā)
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一個(gè)星期五上午10:15觸發(fā)
"0 15 10 ? * 6#3" 每月的第三個(gè)星期五上午10:15觸發(fā)
每天早上6點(diǎn)

0 6 * * *

每?jī)蓚€(gè)小時(shí)

0 */2 * * *
晚上11點(diǎn)到早上8點(diǎn)之間每?jī)蓚€(gè)小時(shí),早上八點(diǎn)

0 23-7/2,8 * * *

每個(gè)月的4號(hào)和每個(gè)禮拜的禮拜一到禮拜三的早上11點(diǎn)

0 11 4 * 1-3
1月1日早上4點(diǎn)

0 4 1 1 *


文章題目:淺談Spring中的Quartz配置
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dpdppoi.html