Tirgger SimpleTrigger CronTrigger(四)
觸發器通用屬性:
jobKey:表示job例項的標識,觸發器被觸發時,指定的job例項會被執行。
startTime:表示觸發器的時間表 首次被觸發的時間,他的值型別為java.uti.Date。
endTime:指定的觸發器不在被執行的時間,他的值型別為java.uti.Date。
實現:
package quartz; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.JobBuilder; import org.quartz.JobDetail;import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.SimpleScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; public class SchedulerClass { publicstatic void main(String[] args) throws SchedulerException { Date startDate = new Date(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("當前時間:"+sf.format(startDate)); // 建立一個JobDetail例項 // 將該例項與JobClass繫結,JobDetail是由Builder模式來建立的,JobDetail是來繫結job的。// withIdentity 建立唯一的標識 JobDetail jobDetail = JobBuilder.newJob(JobClass.class).withIdentity("jobName", "group").build(); /*獲取當前三秒後的時間*/ startDate.setTime(startDate.getTime()+3000); /*獲取當前六秒後的時間*/ Date endDate = new Date(); endDate.setTime(endDate.getTime()+6000); // 建立一個Tigger例項,定義 job立即執行,並每隔一段時間重複執行,每隔5秒中執行一次 Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger").startAt(startDate).endAt(endDate) .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build(); // 建立一個Scheduler例項, Scheduler是由工廠模式來建立的 so SchedulerFactory factory = new StdSchedulerFactory(); Scheduler scheduler = factory.getScheduler(); scheduler.start(); // 排程器呼叫任務和觸發器,scheduler將job,trigger繫結在一起。 scheduler.scheduleJob(jobDetail, trigger); } }
package quartz; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.Job; import org.quartz.JobDataMap; import org.quartz.JobDetail; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.JobKey; import org.quartz.Trigger; public class JobClass implements Job { public void execute(JobExecutionContext arg0) throws JobExecutionException { Date date=new Date(); SimpleDateFormat sf=new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); System.out.println("執行時間:"+sf.format(date)); // 編寫業務邏輯 System.out.println("hello Quartz"); JobKey jobKey=arg0.getJobDetail().getKey(); Trigger triiger=arg0.getTrigger(); System.out.println("開始時間"+sf.format(triiger.getStartTime())); System.out.println("結束時間"+sf.format(triiger.getEndTime())); System.out.println("例項名稱:"+jobKey.getName()); } }
執行結果為:
SimpleTrigger
作用:在指定的時間段內執行一次作業任務 或是 在指定的時間間隔內執行多次作業任務 (定時定頻率)
// 定時 當前時間3秒後執行 startDate.setTime(startDate.getTime() + 3000); // Trigger trigger =TriggerBuilder.newTrigger().withIdentity("trigger").startAt(startDate).build(); // 定頻率 每隔3秒中執行一次,執行2次 Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger").startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(3).withRepeatCount(2)).build();
注意:
重複次數,可以是0、正整數,以及常量SimpleTrigger.REPEAT_INDEFINITELY。重複的間隔,必須是0,或者long型的正數,表示毫秒。注意,如果重複間隔為0,trigger將會以重複次數併發執行(或者以scheduler可以處理的近似併發數)。
endTime屬性的值會覆蓋設定重複次數的屬性值;比如,你可以建立一個trigger,在終止時間之前每隔10秒執行一次,你不需要去計算在開始時間和終止時間之間的重複次數,只需要設定終止時間並將重複次數設定為REPEAT_INDEFINITELY(當然,你也可以將重複次數設定為一個很大的值,並保證該值比trigger在終止時間之前實際觸發的次數要大即可)。
CronTrigger:基於日曆的作業排程器。
Cron表示式:
用於配置CronTrigger例項。由7個子表示式組成的字串,描述時間表的詳細資訊,格式:秒 分 時 日 月 周 年
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger")
.withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ? *")).build();
萬用字元說明
實在是不知道怎麼寫 網上搜搜 cron線上生成表示式。
相關推薦
Tirgger SimpleTrigger CronTrigger(四)
觸發器通用屬性: jobKey:表示job例項的標識,觸發器被觸發時,指定的job例項會被執行。 startTime:表示觸發器的時間表 首次被觸發的時間,他的值型別為java.uti.Date。 endTime:指定的觸發器不在被執行的時間,他的值型別為java.uti
Python 接口測試(四)
數列 格式 dumps code 輸出 pre weather 標準 lang 五:python數列化和反序列化 把python的對象編碼轉換為json格式的字符串,反序列化可以理解為:把json格式 字符串解碼為python數據對象。在python的標準庫中,專門提供了j
python學習之路(四)
[1] size class dex epc uri msu 語句 這就是 繼續昨天的學習,學到了數組。 首先有兩個數組,name1和name2.我們可以將兩個數組合並 name1=[1,2,3,4] name2=[5,6,7,8] names=name1.extend(
JAVA實現EXCEL公式專題(四)——字符串函數
main 問題 int start boolean java ... ringbuf out substring 直接上代碼:/** * 項目名稱: * 文件說明: ExCEL公式類型:字符串公式 * 主要特點: * 版本:1.0 * 制作人:劉晨曦
ios多線程操作(四)—— GCD核心概念
indent img 操作 fort 16px 2.0 b2c 有一種 read GCD全稱Grand Central Dispatch。可譯為“大派發中樞調度器”,以純C語言寫成,提供了很多很強大的函數。GCD是蘋果公司為多核的並行運算提出的解決方式,它能夠自己主
軟考(四)
size mod 但是 ima details 表現 tar type 對象 http://blog.csdn.net/lihepeng007/article/details/49716551 【UML】三種事物 四種關系 九種圖 標簽: uml生命周期 2015-
Cocos2d-x學習筆記(四) 布景層的加入移除
dcl from position 顏色 顯示地圖 idt col 分享 學習 布景層類也就是CCLayer類,每一個遊戲場景中都能夠有非常多層,每一層負責各自的任務。顯示地圖、顯示人物等。同一時候層還是一個容器,能夠放入文本、圖片和菜單。構成遊戲中一個個UI。這次
C#基礎知識-流程控制的應用(四)
相關 ats 循環 nbsp 使用 logs 嘗試 exc 設置斷點 流程控制我們在編程中運用到的地方非常的多,在上篇中僅僅只是簡單的介紹每一種的使用,並沒有運用到實例中,很難去理解它真正的作用。下面我們將實際的運用流程控制的代碼寫一些實例相關的程序,加深對流程控制的理解,
性能測試(四)應用領域
架構 關心 剖析 測試結果 可擴展 服務 style 快速 折線圖 大概說說性能測試的五種應用領域吧,可能純文字內容太多,沒耐心的話,可以跳過不看。。。 ————參考書籍《軟件性能測試過程詳解與案例剖析》 概括來說,可以將性能測試的應用領域劃分為下面五個不同領域:
機器學習筆記(四)機器學習可行性分析
資料 表示 image 隨機 訓練樣本 -s mage 例如 lin 從大量數據中抽取出一些樣本,例如,從大量彈珠中隨機抽取出一些樣本,總的樣本中橘色彈珠的比例為,抽取出的樣本中橘色彈珠的比例為,這兩個比例的值相差很大的幾率很小,數學公式表示為: 用抽取到的樣本作為訓練
物聯網平臺構架系列 (四):Amazon, Microsoft, IBM IoT 平臺導論 之 平臺
物聯網; iot; aws; 亞馬遜; greengrass;microsoft; azure;ibm; watson; bluemix最近研究了一些物聯網平臺技術資料,以做選型參考。腦子裏積累大量信息,便想寫出來做一些普及。作為科普文章,力爭通俗易懂,不確保概念嚴謹性。我會給考據癖者提供相關英文鏈接,以便深
java線程(四)
讀寫 img 其他 手動 dem com 字段 只讀 停止線程 java5線程並發庫 線程並發庫是JDK 1.5版本級以上才有的針對線程並發編程提供的一些常用工具類,這些類被封裝在java.concurrent包下。 該包下又有兩個子包,分別是atomic和lock
Python基礎學習(四)
python 函數 集合 Python 集合: set 顧明思義,就是個集合,集合的元素是唯一的,無序的。一個{ }裏面放一些元素就構成了一個集合,set裏面可以是多種數據類型(但不能是列表,集合,字典,可以是元組) 它可以對列表裏面的重復元素進行去重list1 = [1,2,3,23
網站平臺架構演變史(四) - 水平拆分的查詢
頻率 條件查詢 期待 數量 平臺 演變 關聯查詢 如果 條件 之前在講表拆分的時候氛圍垂直拆分和水平拆分 垂直拆分的查詢其實不難,就是從單表變為了多表,而大部分情況下只是對主表的查詢多,從表的查詢會很少用到,這樣的情況下關聯查詢不需要太多的考慮 水平拆分之前講了大數據量的情
搭建高可用mongodb集群(四)—— 分片
tor cat address pad 業務 [] 日誌信息 ast mongo 搭建高可用mongodb集群(四)—— 分片 按照上一節中《搭建高可用mongodb集群(三)—— 深入副本集》搭建後還有兩個問題沒有解決: 從節點每個上面的數據都是對數據庫全量拷貝,
jdk源碼閱讀筆記之java集合框架(四)(LinkedList)
ray private array public 源碼閱讀 jdk源碼閱讀 oid color 解釋 關於LinkedList的分析,會從且僅從其添加(add)方法入手。 因為上一篇已經分析過ArrayList,相似的地方就不再敘述,關註點在LinkedList的特點。 屬
爬蟲庫之BeautifulSoup學習(四)
所有 字符串 判斷 href gin int 過濾器 amp link 探索文檔樹: find_all(name,attrs,recursive,text,**kwargs) 方法搜索當前tag的所有tag子節點,並判斷是否符合過濾器的條件 1、name參數,可
WEB安全實戰(四)關於 Cookie
round url 主動 gin 加密 文章 日期 就會 dex 前言 這幾天中,一直再跟漏洞打交道,而在這些漏洞中,出現的最多的就是 Cookie 和 Session 了。這篇文章就簡單的介紹一些 Cookie 中最經常使用的四個屬性。也算是為興許的文章做一個
nyoj 1078 漢諾塔(四)[二分圖 || 規律 || 暴力 || 貪心]
二分圖 二分圖匹配 int 處理 names 特殊 mes while 最小路徑覆蓋 題目:nyoj 1078 漢諾塔(四) 分析:做這個題目的時候是在圖論的題目裏面看到的。到時讀了題目推了一下,發現好像有點規律。試了一下果然過了。 後來看了一下數據,才50。那
MVC框架(四)驅動類 - 工廠模式
同時 exist class ... string obj 所有 獲取對象 ret 將框架中大部分要創建的對象,都經由驅動類創建,獲取,判斷。這樣做有如下好處: 1 統一管理所有創建的類,包括創建前處理與創建後處理 2 單一創建,防止多次創建類 實例: <?php