日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Quartz 之入门示例

發(fā)布時間:2023/12/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Quartz 之入门示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

?
五 工程圖片?
?
六 具體代碼如下?
Job:是一個接口只有一個方法void execute(JobExecutionContext context),開發(fā)者實現該接口定義運行任務,JobExecutionContext類提供了調度上下文的各種信息。Job運行時的信息保存在JobDataMap實例中?
1 定義一個作業(yè)類: 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(); // 創(chuàng)建一個SimpleTrigger實例,指定該Trigger在Scheduler中所屬組及名稱。 // 接著設置調度的時間規(guī)則.當前時間運行 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

?

總結

以上是生活随笔為你收集整理的Quartz 之入门示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。