Quartz 之入門示例

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

環境:XP+Myeclipse6.5+JDK1.6?
quartz官網:http://www.quartz-scheduler.org/?
參考資料?
1 Quartz任務調度快速入門?
http://www.blogjava.net/baoyaer/articles/155645.html?
2 Quartz?
http://ttaale.iteye.com/blog/630202?
http://java-lyvee.iteye.com/blog/817110?
3 Quartz Job Scheduling Framework?
http://hi.baidu.com/recoder/blog/item/ec7642f1db2b68a7a40f52f3.html?
4 Quartz學習?
http://blog.csdn.net/bubei/article/details/2108778?
5 Quartz學習資料鏈接?
http://topmanopensource.iteye.com/blog/search?query=quartz?

特別說明:如無特別說明,所有有關quartz示例基于官方示例?

一 Quarta介紹?
1 Quartz是什么?
Quartz就是一個純 Java 實現的作業調度工具,相當于數據庫中的 Job、Windows 的計劃任務、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精細.?
2 Quartz 框架的發展歷程?
Quartz項目是由James House創立的,在1998年就有該框架最初的構思,包括作業隊列的概念,使用線程池來處理作業,在2001年春天在SourceForge 上創立了該項目.?
Quartz 的目錄結構和內容?
Docs Quartz 框架的JavaDoc Api 說明文檔?
Examples 多方面使用 Quartz 的例子?
Lib Quartz 使用到的第三方包?
quartz-jboss 提供了特定于 JBoss 特性的源代碼?
quartz-oracle 提供了特定于 Oracle 特性的源代碼?
quartz-weblogic 提供了特定于 WebLogic 特性的源代碼?
二 Quartz的應用場景?
場景 #1: 郵件提醒和告警?
場景 #2: 執行文件傳輸操作?
場景 #3: 創建銷售報表?
三 Quarta的安裝及使用?
官網:http://www.quartz-scheduler.org/下載最新的文件,需要你注冊才能下載!也可在附件中下載?
四 了解Quartz體系結構?
Quartz對任務調度的領域問題進行了高度的抽象,提出了調度器、任務和觸發器這3個核心的概念,并在org.quartz通過接口和類對重要的這些核心概念進行描述?
Quartz 調度包的兩個基本單元是作業和觸發器。作業是能夠調度的可執行任務,觸發器提供了對作業的調度.?
調度器:調度器用于將與作業觸發器關聯,一個作業可關聯多個觸發器,這樣每個觸發器被可以觸發的作業執行;一個觸發器可用于控制多個作業,觸發觸發時,?
全部作業將獲得調度。Quartz的調度器由Scheduler接口體現.?
作業:只需實現org.quartz.job接口即可.Job接口包含一個方法 execute(),execute方法體是被調度的作業體。一旦實現Job接口和execute()方法,?
Quartz確定作業運作的時候,它將調用 execute()方法體。?
觸發器:有SimpleTrigger和CronTrigger兩種類型?

?
五 工程圖片?
?
六 具體代碼如下?
Job:是一個接口只有一個方法void execute(JobExecutionContext context),開發者實現該接口定義運行任務,JobExecutionContext類提供了調度上下文的各種信息。Job運行時的信息保存在JobDataMap實例中?
1 定義一個作業類: HelloJob.java?
Java代碼?

?

import java.util.Date;  
import org.slf4j.Logger;  
import org.slf4j.LoggerFactory;  
import org.quartz.Job;  
import org.quartz.JobExecutionContext;  
import org.quartz.JobExecutionException;  public class HelloJob implements Job {  private static Logger _log = LoggerFactory.getLogger(HelloJob.class);  public HelloJob() {  }  public void execute(JobExecutionContext context)  throws JobExecutionException {  _log.error(" 咫尺天涯: " + new Date());  }  
}


2 測試類?
Java代碼?

import static org.quartz.JobBuilder.newJob;  
import static org.quartz.TriggerBuilder.newTrigger;  
import static org.quartz.DateBuilder.*;  
import java.util.Date;  
import org.quartz.JobDetail;  
import org.quartz.Scheduler;  
import org.quartz.SchedulerFactory;  
import org.quartz.Trigger;  
import org.quartz.impl.StdSchedulerFactory;  
import org.slf4j.Logger;  
import org.slf4j.LoggerFactory;  
public class SimpleExample {  private static Logger log = LoggerFactory.getLogger(SimpleExample.class);  public void run() throws Exception {  // 通過SchedulerFactory獲取一個調度器實例  SchedulerFactory sf = new StdSchedulerFactory();      Scheduler sched = sf.getScheduler();  Date runTime = evenMinuteDate(new Date());  // 通過過JobDetail封裝HelloJob,同時指定Job在Scheduler中所屬組及名稱,這里,組名為group1,而名稱為job1。  JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1").build();  // 創建一個SimpleTrigger實例,指定該Trigger在Scheduler中所屬組及名稱。  // 接著設置調度的時間規則.當前時間運行  Trigger trigger = newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();  // 注冊并進行調度  sched.scheduleJob(job, trigger);  // 啟動調度器  sched.start();  try {  //當前線程等待65秒  Thread.sleep(65L * 1000L);  } catch (Exception e) {  }  //調度器停止運行  sched.shutdown(true);  log.error("結束運行。。。。");  }  public static void main(String[] args) throws Exception {  SimpleExample example = new SimpleExample();  example.run();  }  
}  


因為上官網下載麻煩,這里就直接上傳了,方便大家下載!目錄結構如下:?
Quartz所用到的jar?
?
上傳Quartz文件如下?
?
官方文檔見附件:quartz-docs.7z

?

下載地址:http://liuzidong.iteye.com/blog/1118992

轉自:http://liuzidong.iteye.com/blog/1118992

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448955.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448955.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448955.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS3最顛覆性的動畫效果,基本屬性[3D]

和2D一樣也是transform 即變形 1)rotateX rotateY rotateZ(也可以用transform-origin來設置旋轉中心點) 2)透視(perspective) 給父親加透視,透視就是模擬眼睛到物體的距離,近大遠小,即數值越小,3D越明顯 理…

解決報錯 :A component required a bean of type ‘gentle.test.Show‘ that could not be found

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 啟動工程失敗,報錯如題: A component required a bean of type gentle.test.Show that could not be found.…

30天提升技術人的寫作力-第十七天

約束作者在漫長的創作過程中,不偏離寫作目標。當寫的字數在十幾萬以上時,沒有先規劃,就會陷入混亂,發生注入重復、疏漏、相關知識未講解等問題。制作長文章或書籍的大綱,需要使用發散收斂工具。所謂發散是多方向、多思…

白領必看的十種職場致命毒藥

找到一個合適的工作可能需要3到15個月不等的時間——然而丟掉飯碗只需要幾天或幾周。下面是10種職場毒藥的特點:       1、人際交往技能不佳       討人喜歡會大有幫助。研究均表明和那些能力強而呆板的人相比,人們一致而且不可遏制地更喜歡和…

eclipse中folder、source folder和package的區別

今天做ssm項目時,突然發現了這個問題,特別好奇,sqlSessionFactory.xml文件如何找到: 1、放在src/hello目錄下: InputStream inputStream Resources.getResourceAsStream("./hello/sqlMapperConfig.xml"); 2…

解決.quartz.ObjectAlreadyExistsException: Unable to store Job : ‘jyGroup.jyJob‘, because one already

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 報錯如題: 定時任務出現異常 : org.quartz.ObjectAlreadyExistsException: Unable to store Job : jyGroup.…

WeMos-D1R2的使用

2019獨角獸企業重金招聘Python工程師標準>>> WeMos介紹 WeMos-D1R2一個基于ESP8266-12 Wifi模塊的Arduino-UNO開發板。也就是說,WeMos-D1R2是一個具有wifi功能的Arduino開發板,但WeMos-D1R2與Arduino-UNO的引腳不是一一對應的,其對…

職場中什么樣的員工最易發展?

職場中什么樣的員工最“搶手”?也許你會說有能力的人,沒錯有能力的人競爭力一定很強,但是能力會隨著經驗的豐富而慢慢變強,所以它不足以某個人在職場中站穩腳主要原因,反而是一個人的工作態度決定著他在職場中的發展方向與前景。…

PAT 1048 數字加密

題目鏈接 一開始我還以為以b的長度為基準,因為b是要加密的數據啊,看了答案才知道原來要以最長的長度為基準。但是這道題還有個bug,就是當你算出的結果前面有0竟然也可以通過,比如a為1111,b為1111,答案是020…

RabbitMQ MQTT協議和AMQP協議

RabbitMQ MQTT協議和AMQP協議 1 序言... 1 1.1 RabbitMq結構... 1 1.2 RabbitMq消息接收... 4 1.3 Exchange種類和消息發送模式... 4 1.4 RabbitMq的協議... 6 1.4.1 AMQP協議... 6 1.4.2 MQTT協議... 8 2 RabbitMq服務器安裝和使用…

Quartz 定時任務(Scheduler)的 3 種實現方式

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 PS&#xff1a;第 3 種最簡單。 一、引入 jar 。 <!-- quartz 定時任務調度 --><dependency><groupId>org.springfr…

加速財務自由的7種理財方法

有人說財務自由是個遙不可及的路&#xff0c;有人卻覺得想要在財務上成功很簡單&#xff0c;到底財務自由有沒有一個正確的方法或是被證明的技巧可以被實現&#xff1f;如果你現在還沒達成或是正在達成&#xff0c;底下這7種簡單有效的行動與方法可以加速你建構財務自由之路。 …

Code Chef December Challenge 2018題解

傳送門 \(MAXEP\) 二分&#xff0c;不過二分的時候要注意把\(mid\)設成\(\left\lfloor{9lr\over 10}\right\rfloor\)&#xff0c;這樣往右的次數不會超過\(6\)次 //minamoto #include<bits/stdc.h> #define R register #define inline __inline__ __attribute__((always_…

Git 安裝及 idea 配置 Git

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1.git官網下載地址&#xff1a;點此跳轉git官網 git具體安裝不做詳細敘述。 2.打開idea 點擊Configure -> Settings 3.選擇Git 找到…

創業成功需早起?看看IT大佬們的作息時間

有人說&#xff0c;在一個企業里&#xff0c;級別的高低與越起越早現象呈坐標曲線型&#xff0c;也就是說&#xff0c;一開始進職場都嗜睡&#xff0c;有了一定級別就開始早起&#xff0c;隨著級別的升高&#xff0c;起床的時間也越來越早&#xff0c;到了級別特高了&#xff0…

第六章學習小結

本章學習了圖的結構及應用&#xff0c; 首先是圖的分類&#xff0c;圖分為無向圖、有向圖、完全圖、連通圖、強連通圖、帶權圖、稀疏圖、稠密圖等等。 圖的存儲方式有兩大類&#xff0c;以邊集合方式的表示法和以鏈接方式的表示法。其中&#xff0c;以邊集合方式表示的為鄰接矩…

大數據薪資一再飆升 學習大數據需要哪些基礎?

2018年6月19日&#xff0c;備受關注的個人所得稅法修正案草案迎來第七次大修&#xff0c;個稅起征點由每月3500元提高至每月5000元(每年6萬元)。對于大多數人來說這絕對是個好消息&#xff0c;但人們更愿意參加培訓班實現高薪。近年來&#xff0c;隨著互聯網的飛速發展以及企業…

idea 玩轉 碼云 -- idea安裝碼云插件

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 在git盛行的今天&#xff0c;碼云成為中國程序員的第二github&#xff0c;而且還可以免費使用私人空間。下面就開始碼云之旅吧。 0.創建…

阿里云的物聯網之路

阿里云的物聯網之路 作者 | 劉洪峰 責編 | 唐小引 本文首發于 CSDN 微信&#xff08;ID&#xff1a;CSDNnews&#xff09; 原文鏈接 未來十到二十年&#xff0c;大家基本已經形成了一個共識&#xff0c;那便是新格局的奠定將由 AI 和物聯網技術來支撐。放眼國內&#xff0c;在…

不是所有人都懂這樣做,你若做了就能高升!

有句話這樣說的&#xff0c;成功的人往往都是做著別人不愿意或不知道的事情&#xff0c;懂得付出才會獲得成功&#xff01; 同樣的道理&#xff0c;身在職場&#xff0c;每個人都有一種被提拔&#xff0c;晉升的愿望。 不過&#xff0c;光想著沒用&#xff0c;除了干好自身工…