第一個Quartz程式 (二)
1 我們使用maven專案
2 建立一個job類,在execute()方法裡寫上業務邏輯程式碼。
3 在另外一個類中建立觸發器,排程器,並且繫結job。
首先在專案的pom.xml引入需要的jar包。
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency>
建立一個job
package quartz; import java.text.SimpleDateFormat;import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; 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"); } }
再建立另外一個類
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 { public static void main(String[] args) throws SchedulerException { // 建立一個JobDetail例項 將該例項與JobClass繫結,JobDetail是由Builder模式來建立的,JobDetail是來繫結job的。 // withIdentity 建立唯一的標識 JobDetail jobDetail = JobBuilder.newJob(JobClass.class).withIdentity("job").build(); // 建立一個Tigger例項,定義 job立即執行,並每隔一段時間重複執行,每隔5秒中執行一次 Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger").startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever()).build(); // 建立一個Scheduler例項, Scheduler是由工廠模式來建立的 so SchedulerFactory factory = new StdSchedulerFactory(); Scheduler scheduler = factory.getScheduler(); scheduler.start(); Date date = new Date(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("當前時間為:" + sf.format(date)); //排程器呼叫任務和觸發器,scheduler將job,trigger繫結在一起。 scheduler.scheduleJob(jobDetail, trigger); } }
但是這樣看起來很複雜的!
相關推薦
第一個Quartz程式 (二)
1 我們使用maven專案 2 建立一個job類,在execute()方法裡寫上業務邏輯程式碼。 3 在另外一個類中建立觸發器,排程器,並且繫結job。 首先在專案的pom.xml引入需要的jar包。 <dependency> <groupId&g
手把手教你用nginx開發自己的伺服器------利用nginx開發一個helloWorld程式(二)
現在我們正式開始編寫nginx的helloWorld功能,該從哪下手呢?別急,我們在上一篇文章中提到了事件驅動對吧。nginx是怎麼樣事件驅動的呢?我們來看看ngx_worker_process_cycle()這個函式的一部分for ( ;; ) { if
VSCode 的第一個C++程式(windows)[更新2018.10.28]
所有的第一次都只是用來熟悉一下操作的,肯定是無法滿足實際的需求的,所以進行了這次的更新。 更新內容: 採用了makfile去編譯生成中間檔案和可執行檔案; 採用了多目錄的檔案樹,將原始檔、標頭檔案、中間檔案以及可執行檔案分別存放在不同的目錄中; makef
利用IDEA的Maven建立第一個java程式(helloworld)
利用IDEA的Maven建立第一個java程式 1、如果剛安裝完IDEA,開啟之後出現以下介面,點選Create New Project 2、出現New Project對話方塊,在左側選擇Mav
VSCode的第一個C++程式(Linux)
引言 VSCode作為微軟推出的一款免費的輕量級的整合開發環境,可謂是良心之作。它擁有VS的高顏值,而且像瑞士軍刀一樣,擁有豐富的外掛,c/c++、java、python、js、html等等,它都能輕鬆駕馭。 目錄 安裝 VSC
Android SDK的配置與安裝(eclipse最新版)+第一個Android程式(Hello World!)
Android SDK SDK介紹 SDK:(software development kit)軟體開發工具包。被軟體開發工程師用於為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體
Ubuntu下建立第一個qt程式(非qt IDE)
使用QT5.9.1版本,自己建立qt源程式,經qmake編譯實現自己的第一個qt 程式。 /home/ttwang/Desktop目錄下建立一個資料夾qt-learing mkdir qt-learing 在/home/ttwang/Deskto
Linux下G++編譯第一個C++程式(Hello, world)
安裝完各種環境工具之後(sudo apt install g++) 繼而新建一個空白文件Helloworl.cpp,貼上進最簡單的程式碼: #include<iostream>
第一個Netty程式(編寫Hello Netty伺服器)
具體步驟 構建一對主從執行緒組 定義伺服器啟動類 為伺服器設定channel 設定處理從執行緒池的助手類初始化器(我們會有一個channel,這個channel會有一堆相應的助手類handler對它進行處理,如編解碼處理、讀寫資料等。這些操作都是需要歸類在助
Phaser3入門教程:第一個Phaser3遊戲(中文版)(二)
裝載資源 現在要為我們的遊戲載入所需的資源了。我們只需要在場景函式preload中加入Phaser的載入程式碼即可,Phaser將自動呼叫該函式並執行裡面的內容。 當前的preload函式體為空,我們將它改成下面這樣: function preload ()
第一個C#程式(飛行棋遊戲),以及學習感悟-待完善
歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列圖和
第一個java程式(9x9乘法表)
public class test {public static void main(String argsp[]){int i,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++){ System.out.print(i+"*"+j+"=
一天練習一個小C/C++程式(二) 指標到底該如何使用
以前寫C基礎的時候,寫過很多次指標的例子,那到底指標在C專案中會怎麼應用呢? 通常有兩方面: 一:函式的傳參:我們已經說過,函式傳參除非傳的是記憶體地址,要不修改後的值對傳入之前的值沒有影響。 二:跨函式修改值: 其實我覺得這個和第一條一樣。。都是為了使其在另一個函式的修改
使用 Android Studio 寫出第一個 NDK 程式(超詳細)
NDK(Native Development Kit),是用於在 Android 應用中巢狀原生代碼的工具集,現在 Android 開發最常用的工具就是 Android Studio 了,筆者也是剛剛接觸 NDK 開發,用了一天的時間,踩了很多坑,最終跑通了自己的第一
手把手做一個JSP入門程式(二):建立一個專案(JSP)
建立一個專案 我們使用Eclipse和Web伺服器的Tomcat進行開發。Eclipse我們需要用“Eclipse IDE for Java EE Developers”(Eclipse為java EE 開發者準備的一個IDE工具),可以點選這裡到官網下載最新
我的第一個Python程式(簡單的使用者名稱密碼登入程式)
話說啊,所謂的C語言1000行,Java100行,Python20行呢。。。光一個登入就30行了。、 一個輸入使用者名稱密碼的登入程式: init_usrname=input('Please en
第一個hadoop程式(java程式訪問hadoop的hdfs檔案系統中的檔案)
1:hadoop2.7.3環境 2:阿里雲伺服器centos6.5,ip是:47.88.14.190 3:hadoop在偽分散式下執行的。 4:具體配置檔案如下: 1)core-site.xml配置(ip地址最好不用localhost,不然不好測試) <configu
第一個AngularJS Demo(購物車)
mod 購物 set sco tle ng-model -m -c 刪除 <!DOCTYPE html><html><head> <meta charset="utf-8" /> <script sr
BlinkLED 點亮第一個LED燈(C#)
text interval rgs pri art one namespace ane ready 界面: <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
軟件工程——第三次作業(二)
images blog 重定向 logs width 效能 2-2 ima mage 對上周作業中的功能4 (僅由文件重定向讀入,不由控制臺讀入) 做效能分析。 功能4:(還沒改出來,出錯,待續。) git: 軟件工程——第三次作業(二)