Maven 下的spring框架(4定時器quartz)
清明放假三天,沒有時間寫部落格,今天把定時器quartz的使用方法貼出來。通過前三篇的文章,大家的框架都是可以執行的了,那麼下面開始配置quartz。
首先,先把jar包導進來
<!-- 任務排程器 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.2</version>
</dependency>
然後在applicationContext裡面配置
<!-- 工作管理員 --> <beans> <!-- 要呼叫的工作類 --> <bean id="quartzJob" class="com.demo.ssy.quartz.Test"></bean> <!-- 定義呼叫物件和呼叫物件的方法 --> <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 呼叫的類 --> <property name="targetObject"> <ref bean="quartzJob" /> </property> <!-- 呼叫類中的方法 --> <property name="targetMethod"> <value>start</value> </property> </bean> <!-- 定義觸發時間 --> <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="jobtask" /> </property> <!-- cron表示式 --> <property name="cronExpression"> <value>*/5 * * * * ?</value> </property> </bean> <!-- 定義呼叫物件和呼叫物件的方法 多個任務定義多個--> <bean id="jobtask2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 呼叫的類 --> <property name="targetObject"> <ref bean="quartzJob" /> </property> <!-- 呼叫類中的方法 --> <property name="targetMethod"> <value>stop</value> </property> </bean> <!-- 定義觸發時間 --> <bean id="doTime2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="jobtask2" /> </property> <!-- cron表示式 --> <property name="cronExpression"> <value>*/10 * * * * ?</value> </property> </bean> <!-- 總管理類 如果將lazy-init='false'那麼容器啟動就會執行排程程式 --> <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTime" /> <ref bean="doTime2"/> </list> </property> </bean> </beans>
其中cron表示式含義及範例如下:
欄位名 允許的值 允許的特殊字元
秒 0-59 , - * /
分 0-59 , - * /
小時 0-23 , - * /
日 1-31 , - * ? / L W C
月 1-12 or JAN-DEC , - * /
周幾 1-7 or SUN-SAT , - * ? / L C #
年 (可選欄位) empty, 1970-2099 , - * /
“?”字元:表示不確定的值
“,”字元:指定數個值
“-”字元:指定一個值的範圍
“/”字元:指定一個值的增加幅度。n/m表示從n開始,每次增加m
“L”字元:用在日表示一個月中的最後一天,用在周表示該月最後一個星期X
“W”字元:指定離給定日期最近的工作日(週一到週五)
“#”字元:表示該月第幾個周X。6#3表示該月第3個週五
2)Cron表示式範例:
每隔5秒執行一次:*/5 * * * * ?
每隔1分鐘執行一次:0 */1 * * * ?
每天23點執行一次:0 0 23 * * ?
每天凌晨1點執行一次:0 0 1 * * ?
每月1號凌晨1點執行一次:0 0 1 1 * ?
每月最後一天23點執行一次:0 0 23 L * ?
每週星期天凌晨1點實行一次:0 0 1 ? * L
在26分、29分、33分執行一次:0 26,29,33 * * * ?
每天的0點、13點、18點、21點都執行一次:0 0 0,13,18,21 * * ?
任務類
package com.demo.ssy.quartz;
public class Test {
public void start(){
System.out.println("start");
}
public void stop(){
System.out.println("end");
}
}
啟動專案之後start 每五秒鐘列印一次,stop每十秒鐘列印一次。
測試了一下,你會看到每一個方法都同步執行了兩次,經過觀察發現是因為在web.xml裡面載入了兩邊applicationContext,然後我就把,spring-mybatis相關的抽取到一起,更改了web.xml裡面的載入項。就可以了。
相關推薦
Maven 下的spring框架(4定時器quartz)
清明放假三天,沒有時間寫部落格,今天把定時器quartz的使用方法貼出來。通過前三篇的文章,大家的框架都是可以執行的了,那麼下面開始配置quartz。 首先,先把jar包導進來 <!-- 任務排程器 --> <dependency> &l
2011年11月22日——maven管理spring框架(重發)
#修改時打開了兩個網頁編輯,提交時出了衝突導致部落格一直處於【待稽核】狀態,故重發# #在之前的工程之上,我們加入maven工具管理# 1.使用maven後就可以不用手動導包了,新增依賴maven會自動下載到本地倉庫 2.pom.xml是自動生成的,也可以
Spring框架(JavaEE開發進階Ⅲ)—在Spring中整合Hibernate
一、主要內容1、Hibernate概覽2、宣告Hibernate的Session工廠3、構建不依賴於Spring的Hibernate程式碼二、前言1、應用程式越複雜,對持久化需求隨之要求更高1)延遲載入(lazy loading)2)預先抓取(Eager fetching)3
Spring基礎:快速入門spring cloud(4):API閘道器之Zuul
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
spring 整合mybatis——多資料來源切換(附帶定時器的配置,儲存過程連線,資料多於50條,分批進行操作)
新建com.millery.utils包在其下新建DataSourceContextHolder類 package com.millery.utils; public class DataSourceContextHolder { private
一、使用IDEA,利用maven整合ssm框架(spring+springmvc+mybatis+mysql))
1.工具 apache-tomcat 7 apache-maven(後面詳細講!這東西我一開始也很懵逼) mysql 5以上的版本 navicat(有了這個就不用cmd了,可以直接顯示資料庫,如下圖,請自行百度綠色版QAQ) 2.前言 前不久學完
Orleans 2.0官方文件(閆輝的個人翻譯)——4.4 定時器和提醒器(Reminder)
定時器和提醒器(Reminder) Orleans執行時提供了兩種機制,稱為定時器和提醒器,使開發人員能夠指定grain的週期性行為。 計時器 定時器說明 定時器用於建立不需要跨越多個啟用(grain的例項化)的週期性的grain的行為。它基本上等同於標準的.NET System.T
從零開始,搭建部落格系統MVC5+EF6搭建框架(4)下,前後檯布局實現、釋出部落格以及展示。
1 @{ 2 string url = Request.Url.ToString().ToLower(); 3 } 4 @if (url.Contains("home")) 5 { 6 <aside class="col-sm-3 col-m
從IO 到框架(4)-Servlet + JDBC (Idea Maven)
動態Web 應用的基礎程式碼。關於IDE:最開始入門用Eclipse,但一用Idea 就立刻棄了Eclipse。Idea 相比來說更加智慧,除了佔記憶體多點以外,用Idea 體驗超好,遠超Eclipse。關於Maven:學Maven 之前做專案都需要導Jar 包,比較麻煩而且
Spring通過註解使用定時器(已經驗證)
先需要在springMVC的配置檔案中,配置定時器的掃描註解 ? 1 2 <!-- 定時器開關 開始--> <task:annotation-driven /> 定時器的實現程式碼 ? 1 2 3 4
Maven整合SSM框架(maven+spring+springmvc+mybatis)
啊哈,終於到了用Maven整合SSM這個撲街含家產了。弄了整整一天才跑通。Mybatis的配置有些繁瑣,跟之前學習的那個有點出去,加上Eclipse的Spring工具沒有弄,配置的時候沒有提示被搞蒙圈了。不過萬幸,最終還是憑藉我高超的只會完成了!!哈哈哈 專案
WinForm中,每隔一段時間(參數)調用一次函數(使用定時器)
pre tick break switch 時間 器) chan pri args 1 System.Windows.Forms.Timer setTimer; //定義一個定時器 2 int flg = 0;
Spring框架(一)
原因 getmethod 意思 myba model 找我 except 類型 程序代碼 Spring: Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由 Rod Johnson在其著作 Expert One-On-On
spring框架(二)
面向 int 動態代理 實現 訪問修飾符 spring pat 應用 tco Spring的bean管理(註解) 1、代碼裏面特殊標記,使用註解可以完成相應功能 2、註解寫法@註解名稱(屬性名稱=屬性值) 3、類,方法,屬性(註解使用) spring註解開
spring框架(三)
方法 業務邏輯層 方式 spa 調用 aso ctrl oot ring 基於aspectj的註解aop(會用) 使用註解方式實現aop操作 第一步 創建對象 第二步 在spring核心配置文件,開啟aop操作 aop
DisplayPageBoundaries 打開word後自動將頁面間空白隱藏 (auto+定時器)
win strong als when clas auto 定時 今天 自動 每次打開文檔都要鼠標點擊頁面間空白處,將其隱藏 嘗試過在 AutoOpen, AutoExec等宏中添加 ActiveWindow.View.DisplayPageBoundaries = Fal
Spring框架(四)AOP面向切面編程
維護 ng- mem 需要 函數 cti oop classpath 實現 一.前言 在以前的項目中,很少去關註spring aop的具體實現與理論,只是簡單了解了一下什麽是aop具體怎麽用,看到了一篇博文寫得還不錯,就轉載來學習一下,博文地址:http://w
我的第一個python web開發框架(4)——數據庫結構設計與創建
數據結構 描述 分析器 設置 一個 由於 logs 記錄 開發框架 小白做好前端html設計後,馬上開始進入數據庫結構設計步驟。 在開始之前,小白回憶了一下老大在公司裏培訓時講過的數據庫設計解說: 對於初學者來說,很多拿到原型時不知道怎麽設計數據表結
Django中使用bookstarp框架(4)
取出 閱讀 manage http get png con 下載 join Django中使用bookstarp框架(4) 註意:要使用bookstarp框架前,要先有css的基礎 因為主要是研究後臺的使用方法,就引入前端的框架,簡化html上的耗時(主要是不想把時間浪費在
轉:一句話概括下spring框架及spring cloud框架主要組件
其它 訪問控制 動態類型 應用程序框架 延遲 obi trac 分布式系統 java技術 作為java的屌絲,基本上跟上spring屌絲的步伐,也就跟上了主流技術。 spring 頂級項目:Spring IO platform:用於系統部署,是可集成的,構建現代化應用的版本